行列要素をなんとか可視化したくて、三次元プロット散布図で表現してみた。
Pythonでデータを可視化するmatplotlib初級(3D散布図編) - しぷぜん
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np N = 20 row = range( N ) column = range( N ) X, Y = np.meshgrid( row, column ) X = X.reshape( N * N ) Y = Y.reshape( N * N ) fig = plt.figure() ax = fig.add_subplot( 111, projection='3d' ) for i in range(3): matrix_reshape_1d = np.random.rand( N * N ) # default marker size = 20 ax.scatter( X, Y, [i] * ( N * N ), s = matrix_reshape_1d * 20. ) plt.show()
例えば行列全体が時間に依存していて、それの時間発展を見たい時には良さそう。
複素数の場合には、色で位相を表現することになると思うが、色は配列で渡せないので、一点一点をいちいちプロットしないと行けない気がする。行列サイズが大きいと、おそらく途中で限界が来るだろう。