【问题标题】:How to label certain x values如何标记某些 x 值
【发布时间】:2014-03-22 00:57:50
【问题描述】:

我想每半小时绘制几天的天气数据,但我只想将开始时的日期标记为格式为“mm/dd/yy”的字符串。我想不标记其余部分。

我还想控制这些标记沿 x 轴放置的位置,并控制轴的范围。

我还想在同一个图上绘制在不同时间间隔内进行的多组测量。因此,最好能够设置轴并绘制给定日期的测量值。

关于如何使用 matplotlib 解决此问题的任何建议?

【问题讨论】:

  • 您应该发布您尝试过的内容以及一些可运行的示例以供测试和建议。

标签: python matplotlib plot weather


【解决方案1】:

这在一定程度上取决于您使用的是过程式(类似 MATLAB)还是面向对象的接口。无论哪种情况,假设您想用abc 标记12.54。使用procdeual接口,您可以调用:

plt.xticks([1, 2.5, 4], ["a", "b", "c"])

在后一种情况下,你会这样做:

ax = plt.gca()
ax.set_xticks([1, 2.5, 4])
ax.set_xticklabels(["a", "b", "c"])

或者,一步完成:

ax = plt.gca()
ax.set(xticks=[1, 2.5, 4], xticklabels=["a", "b", "c"])

【讨论】:

    【解决方案2】:

    您可以使用DayLocator,如:plt.gca().xaxis.set_major_locator(dt.DayLocator())

    DateFormatter 一样:plt.gca().xaxis.set_major_formatter(dt.DateFormatter("%d/%m/%Y"))

    注意:import matplotlib.dates as dt

    【讨论】:

      【解决方案3】:

      Matplotlib xticks 是你的朋友。将允许您设置刻度出现的位置。

      至于日期格式,请确保您使用的是 dateutil 对象,并且您将能够处理格式。

      【讨论】:

        猜你喜欢
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 2020-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多