【发布时间】:2017-10-30 09:38:31
【问题描述】:
早安,
我想动态定位我的刻度并显示数据的最小值和最大值(这是变化的,因此我真的无法对条件进行编码)。我正在尝试使用 matplotlib.ticker 函数,我能找到的最好的函数是 MaxNLocator().. 但不幸的是,它没有考虑我的数据集的限制。
解决我的问题的最佳方法是什么?
谢谢!
伪代码如下:
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator
data1 = range(5)
ax1 = plt.subplot(2,1,1)
ax1.plot(data1)
data2 = range(63)
ax2 = plt.subplot(2,1,2)
ax2.plot(data2)
ax1.xaxis.set_major_locator(MaxNLocator(integer=True))
ax2.xaxis.set_major_locator(MaxNLocator(integer=True))
plt.show()
输出是:
【问题讨论】:
-
plt.xlim( (xmin, xmax) )
-
@Silencer 我认为这不是 OP 所要求的。我认为他们希望刻度从 0 到 63(在这种情况下),但在示例中刻度从 0 到 64。更改此示例中的限制不会更改刻度位置
-
不,它只是删除了侧面的尾随刻度,但仍然不反映刻度的限制。谢谢你。
-
我不理解反对票。如果您有疑虑,请解决它而不是单击反对票。让我们有建设性:/
标签: python matplotlib