如何在matplotlib图中正确显示csv中的日期



我有一个csv,包含以下列:记录、湿度和温度。我想在x轴上显示记录的值(日期和时间(,在y轴上显示湿度。我如何正确显示日期(这是一个很大的csv(,因为我当前的绘图是黑色的,而不是正确的日期数字。。。我的日期格式是这样的:2019-09-12T07:26:55,在csv中显示日期和时间。

我使用以下代码显示了绘图:

from matplotlib import pyplot as plt
import pandas as pd
data = pd.read_csv('home_data.csv')
plt.plot(data.recorded, data.humidity)
plt.xlabel('date')
plt.ylabel('humidity')
plt.title('Visualizing date and humidity')
plt.show()

这是绘图的打印屏幕:https://snipboard.io/d4hfS7.jpg

实际上,绘图显示数据集中的每个日期。它们太多了,看起来就像一个黑色的斑点。为了提高可读性,您可以对xticks进行下采样。这样做:

fig, ax = plt.subplots()
ax.plot(data.recorded, data.humidity)
# some axes labelling
# Reduce now the number of the ticks printed in the figure
ax.set_xticks(ax.get_xticks()[::4])
ax.get_xticklabels(ax.get_xticks(), rotation=45)

ax.set_xticks(ax.get_xticks()[::4])行中,您正在设置x轴的刻度利用CCD_ 2的特性,每4天选取1个日期。它将减少打印日期的数量。你可以随心所欲地增加这个数字。为了增加可读性,可以按照我在行中的建议旋转刻度标签ax.get_xticklabels(ax.get_xticks(), rotation=45)

希望这能有所帮助。

最新更新