Seaborn x轴格式

时间:2018-02-07 16:46:54

标签: python-2.7 matplotlib jupyter-notebook heatmap seaborn

创建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轴仍然很难看:

enter image description here   - 如何指定起始值,结束值,增量值,并将值设为整数?我已尝试查看plt.xlabelg.set_xticklabelssns.heatmap选项的文档,但我找不到解决方案。

1 个答案:

答案 0 :(得分:0)

来自seaborn.heatmap documentation

  

xticklabelsyticklabels:“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绘图,它使用数字轴而不是分类轴,因此允许根据自己的喜好设置刻度和刻度标记。