【发布时间】:2016-05-15 09:04:50
【问题描述】:
我会用 matplotlib 绘制一个图,其中 x 轴有带有 yy-mm-dd hh-mm-ss 的时间戳。我在 datetime64 (熊猫系列)中有 ts 并且还显示(右)分钟和秒,我使用 date2num 遵循link 中的提示。问题是它绘制了无意义的日期:
import datetime as dt
import matplotlib.pyplot as plt
import matplotlib.dates as md
for df in dfs:
datenums=md.date2num(df.toPandas()["timestamp"])
plt.xticks(rotation=25)
xfmt = md.DateFormatter('%Y-%m-%d %H:%M:%S')
ax.xaxis.set_major_formatter(xfmt)
plt.plot(datenums,x)
plt.show()
df.toPandas()["timestamp"] 是:
0 2015-12-15 03:53:13
Name: timestamp, dtype: datetime64[ns]
我尝试将 datetime64 转换为 datetime 但结果没有改变。
【问题讨论】:
-
你能发布一些重现这个问题的代码吗?见MCVE?
-
为什么你认为刻度标签是错误的?刻度线是均匀分布的,而不是放置的。如果您想准确控制刻度的放置位置,请使用广告
FixedLocator作为 xaxis 主要定位器。
标签: python datetime matplotlib python-datetime