【问题标题】:How to set a starting day in heatmap (python)?如何在热图(python)中设置起始日?
【发布时间】:2021-09-02 19:52:59
【问题描述】:

我绘制了一个热图,表示特定周及其天的异常得分值。我得到的热图如下所示。

现在,在 Y 轴上,我想要从星期一开始的那一天,在 x 轴上,两个日期之间的间隔应该是 7 天,即一周。有没有其他方法可以绘制热图以获得我想要的结果?或者在现有的heatmap函数(sns.heatmap())中有没有其他方法可以设置参数?

【问题讨论】:

  • 您能否粘贴一个可复制的数据框,以便我们能够在我们端创建此热图,然后我们可以对其进行调整并帮助您

标签: python pandas matplotlib heatmap


【解决方案1】:

可能有更复杂的方法可以做到这一点,但我从示例数据日期中获取了星期几的值,并将它们转换为图表的源数据。

接下来,我们将创建一个星期列表,以将星期数据转换为日期名称。然后,为 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()

【讨论】:

    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 2019-07-27
    相关资源
    最近更新 更多