刺在matplotlib中的位置

use*_*225 1 python matplotlib

我有一个情节: 在此处输入图片说明

但我希望刻度线位于零轴(如正常图形中所示)。我已经看到了这个例子,也这个例子,但我有问题:

如果我尝试:

import matplotlib.pyplot as plt
import numpy as np

def f(t):
    A = 2409.505
    rho = 0.3260
    C = 0.00
    if C == 0.0:
        return (A*np.exp(-t/rho))
    else:
        return (A*np.exp(-t/rho)) - (C/r**6)

t1 = np.arange(0, 15, 0.01)
plt.xlim(-1, 16)
plt.ylim(-500, 2500)
plt.spines['left'].setposition('0')
plt.spines['bottom'].setposition('0')
plt.plot(t1, f(t1), 'b', linewidth = '1.5')
plt.tick_params(top = 'off', right = 'off')
plt.grid(linestyle = '--', linewidth = 0.05)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我得到错误:

Traceback (most recent call last):
  File "C:\Users\Rebecca\Downloads\pyplot_simple.py", line 16, in <module>
    plt.spines['left'].setposition('0')
AttributeError: 'module' object has no attribute 'spines'
Run Code Online (Sandbox Code Playgroud)

如果我尝试:

import matplotlib.pyplot as plt
import numpy as np

def f(t):
    A = 2409.505
    rho = 0.3260
    C = 0.00
    if C == 0.0:
        return (A*np.exp(-t/rho))
    else:
        return (A*np.exp(-t/rho)) - (C/r**6)

t1 = np.arange(0, 15, 0.01)
plt.xlim(-1, 16)
plt.ylim(-500, 2500)
plt.axis['xzero'].set_axisline_style('-')
plt.axis['xzero'].set_visible(True)
plt.spines['bottom'].setposition('0')
plt.plot(t1, f(t1), 'b', linewidth = '1.5')
plt.tick_params(top = 'off', right = 'off')
plt.grid(linestyle = '--', linewidth = 0.05)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我得到错误:

Traceback (most recent call last):
  File "C:\Users\Rebecca\Downloads\pyplot_simple.py", line 16, in <module>
    plt.axis['xzero'].set_axisline_style('-')
TypeError: 'function' object is not subscriptable
Run Code Online (Sandbox Code Playgroud)

我真的很困惑,我毫不怀疑,我再次失去了一些东西真的很明显,所以任何帮助将是非常感激地收到
干杯

M4r*_*ini 8

尝试这个:

plt.gca().spines['bottom'].set_position(('data',0))
Run Code Online (Sandbox Code Playgroud)

  • 或`plt.gca()。spines ['bottom']。set_position('zero')` (2认同)