如何标记某些x值

时间:2014-02-20 20:23:51

标签: python matplotlib plot weather

我想在每半小时的几天内绘制天气数据,但我只想将开头的天数标记为格式为'mm / dd / yy'的字符串。我想留下没有标记的其他部分。

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

我还想在同一幅图上绘制不同间隔的多组测量值。因此,能够设置轴并绘制给定日期的测量结果将是最好的。

有关如何使用matplotlib进行此操作的任何建议吗?

3 个答案:

答案 0 :(得分:2)

您可以在DayLocator

中使用plt.gca().xaxis.set_major_locator(dt.DayLocator())

DateFormatterplt.gca().xaxis.set_major_formatter(dt.DateFormatter("%d/%m/%Y"))

一样

注意:import matplotlib.dates as dt

答案 1 :(得分:1)

Matplotlib xticks是你的朋友。将允许您设置刻度线的显示位置。

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

答案 2 :(得分:1)

这在某种程度上取决于您是否使用过程(类似MATLAB)或面向对象的接口。在任何一种情况下,您都希望将12.54标记为abc。使用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"])