[英]How to force set x ticks on matplotlib, or set datetime type with no year
可以设置用于x轴经由蜱ax.set_xticks()
经由和标签ax.set_xticklabels()
例如,您可以为该方法提供要使用的日期列表,例如当前pd.DataFrame
索引( df.index[::20]
)的每 20 个值,然后设置日期字符串的格式如下。
# Get the current axis
ax = plt.gca()
# Only label every 20th value
ticks_to_use = df.index[::20]
# Set format of labels (note year not excluded as requested)
labels = [ i.strftime("%-H:%M") for i in ticks_to_use ]
# Now set the ticks and labels
ax.set_xticks(ticks_to_use)
ax.set_xticklabels(labels)
笔记
如果标签仍然重叠,您还可以通过传递旋转参数来旋转它们(例如ax.set_xticklabels(labels, rotation=45)
)。
这里有一个关于时间字符串格式的有用参考: http : //strftime.org 。
我的情节遇到了类似的问题
Matplotlib 自动处理轴上的时间戳,但仅当它们采用时间戳格式时。 index
中的时间戳是字符串格式,所以我将read_csv
更改为
pd.read_csv(file_path, index_col=[0], parse_dates=True)
尝试将索引更改为时间戳格式。 这为我解决了问题,希望它对您也有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.