使用matplotlib创建关联图

时间:2014-11-17 09:35:04

标签: python matplotlib

我正在尝试在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)

结果:

enter image description here

编辑:我刚才发现使用rotation='vertical'解决了x-ticks对我的需求。

1 个答案:

答案 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()