【问题标题】:Reducing xtick interval [Non linear data. Floats]减少 xtick 间隔 [非线性数据。花车]
【发布时间】:2021-11-11 14:47:03
【问题描述】:

我一直在研究数据框图,其中有 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 之间,这在图中并非如此。

我不知道我是否已经足够清楚或者这个问题是否足够,但这是我的第一个问题,我已经尝试过了。所以请不要太苛刻。然而,所有的批评都是受欢迎的。谢谢。

【问题讨论】:

标签: python pandas matplotlib xticks


【解决方案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])

【讨论】:

  • 谢谢,我不知道定位器。这就是我需要的。
猜你喜欢
  • 2023-03-18
  • 2019-05-30
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多