2014-11-17 3 views
1

Я пытаюсь создать график матрицы корреляции с matplotlib в python. Однако я не могу сделать x и y тики в середине каждого квадрата, а также мне нужно, чтобы xticks были вертикальными. Я нуждаюсь в них вертикально, потому что у меня будет около 15 переменных для построения, так что тики по горизонтали не будут соответствовать.Создание корреляционного графика с matplotlib

Вот моя попытка:

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

Edit: я просто понял, что с помощью rotation='vertical' решает х-тиков спрос на меня.

ответ

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') 

Кроме того, вы можете добавить следующее, так что общий размер показателя корректируются с учетом повернутых й меток:

plt.tight_layout() 
Смежные вопросы