我正在尝试使用sns.heatmap函数绘制一个大热图。然而,由于地图太大,有点难以找到与行和列相对应的xtick标签或ytick标签。我可以将xtick和xlabels添加到顶部,并将ytick和ylabels也添加到右边吗?
我已经尝试了很多不同的方法,但它们都没有奏效。
我正在尝试使用sns.heatmap函数绘制一个大热图。然而,由于地图太大,有点难以找到与行和列相对应的xtick标签或ytick标签。我可以将xtick和xlabels添加到顶部,并将ytick和ylabels也添加到右边吗?
我已经尝试了很多不同的方法,但它们都没有奏效。
tick_params
,该方法具有labelrotation
参数,并接受rotation
。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, labelrotation=0)
plt.show()
labelrotation=0
或 rotation=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')
rotation=0
怎么样? - ImportanceOfBeingErnest