如何在热图中设置开始日期 (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()