matplotlib でマトリックスを作成しました。ご覧のとおり、マトリックスの半分しかカバーしていません。ポイントをマトリックスの反対側に反映して、マトリックス全体を埋めることができる方法はありますか?
を使用して生成されたimshow
matplotlib でマトリックスを作成しました。ご覧のとおり、マトリックスの半分しかカバーしていません。ポイントをマトリックスの反対側に反映して、マトリックス全体を埋めることができる方法はありますか?
を使用して生成されたimshow
E氏の答えは(ほぼ)正しいですが、完全に最小限の作業例が必要だと感じました。秘訣はプロットすることA + A.T
です。ただし、そうする場合は、対角線を2倍にするため、その部分を差し引く必要があります。
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()