我正在尝试在python中使用matplotlib
创建相关矩阵图。但是我不能让x和y刻度位于每个正方形的中间,而且我需要xticks是垂直的。我需要它们垂直,因为我将有大约15个变量来绘制,因此以水平方式使用刻度将不适合。
这是我的尝试:
import numpy as np
import matplotlib.pyplot as plt
X = np.random.randn(10,3)
X = X.T
R = np.corrcoef(X)
plt.figure()
plt.xticks([0,1,2], ["first", "second", "third"], rotation='vertical')
plt.yticks([0,1,2], ["first", "second", "third"])
plt.pcolor(R)
结果:
编辑:我刚才发现使用rotation='vertical'
解决了x-ticks对我的需求。
答案 0 :(得分:1)
要集中标记,您需要为每个值添加0.5:
plt.yticks([0.5,1.5,2.5], ["first", "second", "third"])
plt.xticks([0.5,1.5,2.5], ["first", "second", "third"], rotation='vertical')
此外,您可能需要添加以下内容,以便调整整体图形大小以考虑旋转的x标签:
plt.tight_layout()