我在matplotlib中创建了一个矩阵。如你所见,它只覆盖了矩阵的一半。 无论如何,我可以将点反映到矩阵的另一侧,这样我就可以填满整个矩阵了吗?
使用imshow
答案 0 :(得分:4)
虽然Mr.E.的答案(几乎)是正确的,但我觉得它需要一个完整的最小工作示例。诀窍是绘制A + A.T
。但是,当你这样做时,你会对对角线进行双重计算,因此你必须减去那部分。
import numpy as np
import pylab as plt
# Create a sample matrix like your image
A = np.random.random((100,100)) * .52
A = np.rint(A)
for idx in np.ndindex(A.shape):
if idx[0]>idx[1]: A[idx] = 0
plt.subplot(1,2,1)
plt.imshow(A,interpolation='none')
# Make a new matrix B = A + A.T - diagonal(A)
B = A + A.T - np.diag(np.diag(A))
plt.subplot(1,2,2)
plt.imshow(B,interpolation='none')
plt.tight_layout()
plt.show()