Я пытаюсь построить матрицу корреляции со значениями, показанными на графике.Вместо одного значения коэффициента корреляции я хочу диапазон на плитках (доверительный интервал).Чтобы добиться этого, я сначала строю матрицу с помощью цветовой шкалы, используя matshow и индивидуальные значения записи низких и высоких интервалов на графике, используя опцию центрирования.Вот фрагмент этого кода.
cax = ax.matshow(data, interpolation='nearest', cmap=GnRd, vmin=-1, vmax=1 ,alpha=1 )
fig.colorbar(cax, ticks=[-1,0,1], shrink=0.8)
for (i, j), z in np.ndenumerate(data2):
if i>=j and z > -0.5 and z < 1:
ax.text(j, i, '{:0.2f}'.format(z), ha='left', va='center', size=28, color='black', **hfont)
if z < -0.5 :
ax.text(j, i, '{:0.2f}'.format(z), ha='left', va='center', size=28, color='black', fontweight='bold', **hfont)
if z == 1 :
ax.text(j, i, '{:0.2f}'.format(z), ha='center', va='center', size=28, color='black', fontweight='bold', **hfont)
for (i, j), z in np.ndenumerate(data3):
if i>=j and z > -0.5 and z <1:
ax.text(j, i, '{:0.2f}'.format(z), ha='right', va='center', size=28, color='black', **hfont)
if z < -0.5 :
ax.text(j, i, '{:0.2f}'.format(z), ha='right', va='center', size=28, color='black', fontweight='bold', **hfont)
plt.show()
и вот мой график:
Проблема с этим графиком заключается в неправильной окраске плиток иЯ не уверен, как покрасить плитки для диапазона.Кроме того, на плитках есть пустое пространство, которое можно уменьшить, сделав заголовки прямоугольными, но я считаю, что matshow не дает такой возможности.Я нашел несколько работ на основе рисования объектов, которые, вероятно, сделают мою жизнь более сложной.Любая помощь будет оценена.