Ran*_*ski 2 python matplotlib heatmap python-3.x colorbar
我有一个尺寸为500 X 18904的大型矩阵。
由于大多数值都是零,因此我无法清楚地看到图案,因为零在颜色栏中占主导地位。
为了更仔细地查看数据,我需要放大图像的不同部分。有没有可靠的方法可以使用色条显示此数据?
这是我的代码和输出。
import numpy as np
import matplotlib.pyplot as plt
import scipy.io as sio
j = sio.loadmat('UV_matrix.mat')
k = j['UV']
plt.imshow(k, aspect='auto')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我可以通过使用numpy数组想到两个选择。
假设您的数据大部分都大于零,但是有很多零。
vmin = some_value_higher_than_zero
plt.matshow(k,aspect='auto',vmin=vmin)
Run Code Online (Sandbox Code Playgroud)将所有零设置为NaN。他们被自动排除在外。
k[k==0.0]=np.nan
plt.matshow(k,aspect='auto')
Run Code Online (Sandbox Code Playgroud)注意 imshow和matshow都可以在这里使用。
当矩阵真正稀疏时,另一种选择是使用散点图。
x,y = k.nonzero()
plt.scatter(x,y,s=100,c=k[x,y]) #color as the values in k matrix
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2514 次 |
最近记录: |