【问题标题】:matplotlib: Centering period labels under the period's data in a time-series plotmatplotlib:在时间序列图中的期间数据下居中期间标签
【发布时间】:2011-09-09 18:04:44
【问题描述】:

在绘制和有效标记密集的时间序列数据时,matplotlib 的轴格式选项往往会下降。

一个问题是刻度标签与刻度相关联,因此如果您以适当的频率设置轴刻度,通常会有太多标签。这也意味着,如果您要绘制几年内的每日数据,则没有好的方法可以在每年的自然位置标记 x 轴:以年份数据为中心(即在 x -7 月 2 日左右的坐标轴位置)。

this example 中描述的技巧 — 在您想要的位置设置主要刻度,然后使用不可见的次要刻度将标签放置在其他位置 — 有效,但它限制您使用一组可见的轴刻度(因为每个轴仅限于一组主要刻度和一组次要刻度)。例如,您不能在每年年初显示主要刻度,在每个月初显示次要刻度,而不会放弃将年份标签适当地放在主要(每年)刻度之间居中的能力,正如您在出版物中发现的那样- 质量地块。

是否有不涉及完全手动绘制所有内容的解决方法?

【问题讨论】:

  • 虽然我同意 matplotlib 的刻度标记可能更灵活,但您描述的标记类型只需要两三行代码......使用 @987654322 手动操作非常简单@.
  • 根据数据的性质,您可能需要查看 www.rrdtool.org ...它在标记 x 轴方面做得很好(我认为)。
  • 过去几年这里发生过什么吗?我和 pash 有同样的问题,没有找到任何令人满意的东西。你会认为在代码中包含这样的选项不应该是一个问题。因此,如果有人有解决方案,我也很乐意听到:) - 谢谢。

标签: python matplotlib plot


【解决方案1】:

您是否查看过scikits.timeseries 中的 tsplot 功能?它最近没有得到太多维护,但它工作得很好。在不久的将来,我会将该代码移植到 pandas 中。

【讨论】:

  • Wes, tsplot 与 matplotlib 的 Subplot 的子类交互,因此它在这方面提供了完全相同的功能(但缺少这些功能)。感谢您在熊猫方面的出色工作,顺便说一句。这是一个我经常使用的很棒的库。
猜你喜欢
  • 2021-10-31
  • 1970-01-01
  • 2011-01-13
  • 2019-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多