我在格式化x轴标签时遇到一些问题。我想格式化标签,以显示日期,以显示小时,但也日期在YYYY-MM-DD。
验证码:
df1.plot.line(y='val1', ax=ax1);
df2.plot.line(y='val1', ax=ax2, legend=False);
plt.suptitle('Some plot ' + str(time[0]) + ' - ' + str(time[1]), fontsize=16, y=1);
#ax1.yaxis.grid(False)
#ax2.yaxis.grid(False)
ax1.grid(linestyle='--', linewidth=0.75)
ax1.spines['right'].set_visible(False)
ax1.spines['top'].set_visible(False)
ax2.set_xlabel('Date-Time')
#ax2.xaxis.set_major_locator(md.MonthLocator())
#ax2.xaxis.set_major_formatter(md.DateFormatter('%Y-%m'))
ax2.spines['right'].set_visible(False)
ax2.spines['top'].set_visible(False)
ax2.grid(linestyle='--', linewidth=0.75)
ax1.legend(bbox_to_anchor=(1.05, 1));
ax2.legend(bbox_to_anchor=(1.05, 1));
ax1.set_title('ClientAB=0');
ax2.set_title('ClientAB=1');
我希望时间保持不变,但我希望日期从5月16日更改为2022-05-16。我试过使用mdates中的格式化程序,但它显示的年份不正确,比如3226而不是2022。
我的 Dataframe 中索引的样子的示例
2条答案
按热度按时间sd2nnvve1#
虽然我无法复制您的图,但有一种方法可以更改x-ticks格式:
其输出:
现在,相同的代码加上这些额外的行:
你会得到:
g52tjvyc2#
受上面答案的启发,我发现了一种方法,可以在处理时间序列时调整线图的格式和x记号的频率。
例如,上面的一段代码可以帮助您设置您希望您的刻度显示的频率。每8小时。本例中使用的格式化程序将以简短格式(yyyy/mm/dd)绘制日期以及小时和分钟。