python - 调整 Seaborn 热图上的刻度设置

标签 python matplotlib seaborn

我一直在尝试通过几种不同的方法调整热图的刻度设置,但没有成功。实际更改绘图设置的唯一方法是 plt.xticks(np.arange(217, 8850, 85)) 但即使为此方法使用几个不同的间隔,数据也会大大偏向权利。

当刻度标签没有聚集在一起时(例如使用 plt.xticks(np.arange(217, 8850, 500))),轴末端的最后一个刻度标记是没有接近 8850 最大值的地方,我需要显示所有数据。

我正在尝试调整 x 和 y 上的这些刻度设置,以便查看完整范围的数据(Xmax:8848 Xmin:7200,Ymax:8848 Ymin:217),间隔允许刻度标签可读。

热图图像:

第一张图片带有 plt.xticks(np.arange(217, 8850, 500)):

enter image description here

第二张图片带有 plt.xticks(np.arange(217, 8850, 85)):

enter image description here

第三个是原始热图:

enter image description here

 color = 'seismic'
 success_rate = (m['Ascents'] / ((m['Ascents']) + (m['Failed_Attempts'])))*100
 success_rate.fillna(0).astype(float)
 mm['success_rate'] = success_rate
 mm['success_rate'].round(2)
 vm = mm.pivot("Height(m)", "Prominence(m)", "success_rate")
 cPreference = sns.heatmap(vm, vmax = 100, cmap = color, cbar_kws= {'label': 'Success Rate of Climbs (%)'})
 cPreference = cPreference.invert_yaxis()


 """Methods I've Tried"""
 plt.xticks(np.arange(217, 8850, 1000)) """<< Only line that actually makes visible changes but data is skewed greatly"""

 cPreference.xaxis.set_ticks(np.arange(mm["Height(m)"].min(), mm["Height(m)"].max(), (mm["Height(m)"].max() - \
 mm["Height(m)"].min()) / 10))
 cPreference.yaxis.set_ticks(np.arange(mm["Prominence(m)"].min(), mm["Prominence(m)"].max(), (mm["Prominence(m)"].max() \
 - mm["Prominence(m)"].min()) / 10))

 sns.set_style("ticks", {"xtick.major.size" : 8, "ytick.major.size" : 8})

 plt.title("What is a good Mountain to Climb?")
 sns.plt.show()

最佳答案

cPreference = sns.heatmap(vm, vmax = 100, cmap = color, >>> xticklabels = 10, yticklabels = 5 <<<, cbar_kws={'label': 'Success Rate of Climbs (%)'})

通过将 xticklabels 或 yticklabels 设置为一个整数,它仍会绘制同一列,但只会显示该列中的每第 n 个项目。

关于python - 调整 Seaborn 热图上的刻度设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081451/

相关文章:

python - 使用 Python 函数高效处理 DataFrame 行?

python - 使用 OpenCV 或 Matplotlib 的图像选项卡

python - 第一行和最后一行将热图图切成两半

python - seaborn:如何制作 tsplot 正方形

python - Django : How to handle css/js specific to a template tag?

python - 如何让pynput按下回车键,或其他一些按下回车的代码行

python - 什么库最适合 python 中的 GUI?

python - 在 Python IDE 中导入模块时遇到问题

python - 在群图之上绘制误差线

python - 更改 seaborn 热图的 xticklabels 字体大小