如何在热图中设置开始日期 (python)?
How to set a starting day in heatmap (python)?
我绘制了一个热图,表示特定周及其日期的异常得分值。我得到的热图如下所示。
现在,在 Y 轴上,我想要从星期一开始的那一天,在 X 轴上,两个日期之间的间隔应该是 7 天,即一周。有没有其他方法可以绘制热图以获得我想要的结果?或者有没有其他方法可以在现有的热图函数(sns.heatmap())中设置参数?
可能有更复杂的方法来执行此操作,但我已经从样本数据日期中提取了星期几值,并将它们转换为图表的源数据。
接下来,我们将创建一个星期几列表,将星期几数据制成日期名称。然后,为 x 轴创建一个日期间隔为 7 天的标签。
weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
ax = sns.heatmap(df_pivot, cmap='afmhot_r')
freq = 7
ax.set_xticks(df.index[::freq])
ax.set_xticklabels(df.iloc[::freq]["date"].dt.strftime("%Y-%m-%d"))
ax.set_yticklabels(weekday, rotation=0)
ax.invert_yaxis()
plt.show()
我绘制了一个热图,表示特定周及其日期的异常得分值。我得到的热图如下所示。
现在,在 Y 轴上,我想要从星期一开始的那一天,在 X 轴上,两个日期之间的间隔应该是 7 天,即一周。有没有其他方法可以绘制热图以获得我想要的结果?或者有没有其他方法可以在现有的热图函数(sns.heatmap())中设置参数?
可能有更复杂的方法来执行此操作,但我已经从样本数据日期中提取了星期几值,并将它们转换为图表的源数据。
接下来,我们将创建一个星期几列表,将星期几数据制成日期名称。然后,为 x 轴创建一个日期间隔为 7 天的标签。
weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']
ax = sns.heatmap(df_pivot, cmap='afmhot_r')
freq = 7
ax.set_xticks(df.index[::freq])
ax.set_xticklabels(df.iloc[::freq]["date"].dt.strftime("%Y-%m-%d"))
ax.set_yticklabels(weekday, rotation=0)
ax.invert_yaxis()
plt.show()