减少 xtick 间隔 [非线性数据。花车]
Reducing xtick interval [Non linear data. Floats]
我一直在研究数据帧图,其中我有 2k 个值要显示及其索引。然而,当我尝试绘制它们时,很明显,matplotlib 试图挤压轴上的所有索引标签,使其无法阅读。它看起来像这样:
我试过增加 figsize,但是 xticks 太多了。由于数据不是线性的(0 和 1 之间可能有 900 个值,1-100 之间有 600 个值,其余值 >100),我不能只用 np.arange()
重新排列 xticks,因为数据失去了相关性(有 2k 根柱,但最后一个指数是 1534.34)。如果我尝试 xticks=np.arange(0, max1, max1/20)
得到均匀间隔的 20 个刻度,我得到这个结果:
这显然不是真的,因为就像我说的,最大索引是 1534.34,所以最后一个刻度应该在水平轴的最末端。另外,如前所述,前 900 个值介于 0 和 1 之间,这在图中不是真的。
我不知道我是否已经足够清楚或者这个问题是否足够,但这是我的第一个问题,我已经尝试过了。所以请不要太苛刻。然而,欢迎所有批评。谢谢
在将间隔定义为某个整数后,我使用 ax.xaxis.set_major_locator(ticker.MaxNLocator(interval))
在 x 轴上设置刻度。请参阅文档 here。我认为这依赖于以如下形式调用图表:
fig = plt.figure(figsize = (5,2))
ax = fig.add_axes([0, 0, 1, 1])
我一直在研究数据帧图,其中我有 2k 个值要显示及其索引。然而,当我尝试绘制它们时,很明显,matplotlib 试图挤压轴上的所有索引标签,使其无法阅读。它看起来像这样:
我试过增加 figsize,但是 xticks 太多了。由于数据不是线性的(0 和 1 之间可能有 900 个值,1-100 之间有 600 个值,其余值 >100),我不能只用 np.arange()
重新排列 xticks,因为数据失去了相关性(有 2k 根柱,但最后一个指数是 1534.34)。如果我尝试 xticks=np.arange(0, max1, max1/20)
得到均匀间隔的 20 个刻度,我得到这个结果:
这显然不是真的,因为就像我说的,最大索引是 1534.34,所以最后一个刻度应该在水平轴的最末端。另外,如前所述,前 900 个值介于 0 和 1 之间,这在图中不是真的。
我不知道我是否已经足够清楚或者这个问题是否足够,但这是我的第一个问题,我已经尝试过了。所以请不要太苛刻。然而,欢迎所有批评。谢谢
在将间隔定义为某个整数后,我使用 ax.xaxis.set_major_locator(ticker.MaxNLocator(interval))
在 x 轴上设置刻度。请参阅文档 here。我认为这依赖于以如下形式调用图表:
fig = plt.figure(figsize = (5,2))
ax = fig.add_axes([0, 0, 1, 1])