我想在网格中绘制一系列的seaborn坐标图。我知道小区的数量(可以是奇数或偶数)。 热图将显示“星期几”(y轴)和“一小时”(x轴)的平均“占有率”,例如,他们都共享相同的x/y域。共享坐标轴并移除未使用的matplotlib子图
这里是我当前的代码:
df2 = df[['name','openLots','occupationRatio','DoW','Hour']]
fig, axs = plt.subplots(figsize=(24,24), nrows=7, ncols=6)
axs = axs.flatten()
locations = df2['name'].sort_values().unique()
def occupation_heatmap (name, ax):
dfn = df2[df2['name'] == name]
dfn = dfn.groupby(['DoW', 'Hour']).mean()['occupationRatio'].unstack()
dfn = dfn.reindex(['Mon', 'Tue', 'Wed','Thu','Fri','Sat','Sun'])
sns.heatmap(data=dfn, cmap="coolwarm", vmin=0, vmax=1.0, ax= ax)
ax.set_title(name)
i = 0
for n in locations:
occupation_heatmap (n, axs[i])
i = i+1
plt.tight_layout()
- 有y轴的标签(DoW)每行只有一次(最左边的图)
- 只在每行最右边的图上有colormap图例(或者不要完全,颜色是很好的自我explainatory)
- 删除“空阴谋”的最后一排,因为奇数总数的
非常感谢任何提示
只是为了帮助提高你怎么心智模型事情正在起作用,这些不是“seaborn subplots”,它们是matplotlib subplots,你碰巧使用seaborn函数来绘制数据。 – mwaskom