Python-如何在sns.heatmap的顶部和底部,左侧和右侧都打勾

时间:2019-04-01 15:07:08

标签: python matplotlib seaborn heatmap

我正在尝试使用sns.heatmap函数绘制一个大的热图。但是,由于地图太大,因此很难找到带有相应行和列的xtick标签或ytick标签。我可以同时在顶部添加xtick和xlabels,在右侧也添加ytick和ylabel吗?

我尝试了许多不同的方法。但是他们都没有用。

2 个答案:

答案 0 :(得分:1)

不确定您尝试了什么,但是通常的方法是通过tick_params

import matplotlib.pyplot as plt
import numpy as np; np.random.seed(0)
import seaborn as sns

uniform_data = np.random.rand(10, 12)
ax = sns.heatmap(uniform_data)
ax.tick_params(right=True, top=True, labelright=True, labeltop=True)

plt.show()

enter image description here

答案 1 :(得分:0)

可以使用matplotlib中的tick_params放置所有面的轴刻度线

#Get sample correlation data to plot something. 'data' is a dataframe
corr=data.corr()

#Create Heatmap
axr = sns.heatmap(corr,cmap="coolwarm", annot=True, linewidths=.5,cbar=False)

#Set all sides
axr.tick_params(right=True, top=True, labelright=True, labeltop=True,rotation=0)

#Rotate X ticks
plt.xticks(rotation='vertical')

enter image description here