创建Pandas数据帧后,我使用以下命令生成Seaborn热图:
# Create heatmap
f, ax = plt.subplots(figsize=(20, 10))
g = sns.heatmap(df_abs, cmap='inferno', vmin=0.0, vmax=1.0, xticklabels='auto')
loc, labels = plt.xticks()
g.set_xticklabels(labels, rotation=0)
loc, labels = plt.yticks()
g.set_yticklabels(labels, rotation=0)
sns.set(font_scale=4)
plt.title('Spectral absorption')
plt.xlabel('Frequency [THz]')
plt.ylabel('Angle of Incidence [$^o$]')
plt.show()
然而,我的x轴仍然很难看:
- 如何指定起始值,结束值,增量值,并将值设为整数?我已尝试查看plt.xlabel
,g.set_xticklabels
和sns.heatmap
选项的文档,但我找不到解决方案。
答案 0 :(得分:0)
来自seaborn.heatmap
documentation:
xticklabels
,yticklabels
:“auto”,bool,list-like或int,optional如果为True,则绘制数据框的列名。如果为False,则不绘制列名称。如果是列表,则将这些替代标签绘制为xticklabels。如果是整数,则使用列名称,但仅绘制每个n标签。如果是“自动”,请尝试密集绘制不重叠的标签。
因此
sns.heatmap(..., xticklabels=5)
会给你5个ticklabels。或
sns.heatmap(..., xticklabels=["1","Banana","12/12/2018"])
会将类别标记为"1","Banana","12/12/2018"
。
如果这不是您所追求的,那么您可能根本不需要海底热图。而是通常的pcolormesh
绘图,它使用数字轴而不是分类轴,因此允许根据自己的喜好设置刻度和刻度标记。