如何以编程方式设置matplotlib图的范围,可选择保持自动缩放(在左侧或右侧):
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(10)
fig = plt.figure()
ax = fig.add_subplot(111)
myrange = None,None
ax.set_xlim(myrange)
ax.plot(a-5,a)
plt.show()
这会将范围设置为0 to 1
而不是我想要的-5 to 4
(自动缩放)。我也试过了:
ax.set_xlim(*myrange)
但这没有做得更好。我知道auto=True
选项,但这似乎不适用于left
和right
关键字参数。换句话说,我还希望能够将左侧的范围设置为自动缩放(-5
)并将其限制在特定值的右侧 - 例如:myrange = None,3
对于那些可能熟悉gnuplot
的人,我对gnuplot的等价感兴趣:
set xrange [*:max]
或
set xrange [max:*]
语法。
答案 0 :(得分:1)
您必须在ax.set_xlim
之后致电ax.plot
。
import numpy as np
import matplotlib.pyplot as plt
a = np.arange(10)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(a-5,a)
ax.set_xlim(xmin = -1.)
plt.show()