相关疑难解决方法(0)

热图上的特定异常值-matplotlib

我正在生成一个带有固定异常值数据的热图,我需要将这些异常值显示为我使用的“热”的 cmap 调色板中的颜色。通过使用 cmap.set_bad('green') 和 np.ma.masked_values(data, outlier),我得到了一个看起来正确的图,但是即使我使用 cmap.set_over,颜色条也没有与数据正确同步('绿色')。这是我一直在尝试的代码:

plt.xlim(0,35)
plt.ylim(0,35)
img=plt.imshow(data, interpolation='none',norm=norm, cmap=cmap,vmax=outlier)

cb_ax=fig.add_axes([0.85, 0.1, 0.03, 0.8])

cb=mpl.colorbar.ColorbarBase(cb_ax,cmap=cmap,norm=norm,extend='both',spacing='uniform')
cmap.set_over('green')
cmap.set_under('green')
Run Code Online (Sandbox Code Playgroud)

这是数据(异常值显然是 1.69):

Data;A;B;C;D;E;F;G;H;I;J;K    
A;1.2;0;0;0;0;1.69;0;0;1.69;1.69;0    
B;0;0;0;0;0;1.69;0;0;1.69;1.69;0    
C;0;0;0;0;0;1.69;0;0.45;1.69;1.69;0.92    
D;1;0;-0.7;-1.2;0;1.69;0;0;1.69;1.69;0    
E;0;0;0;0;0;1.69;0;0;1.69;1.69;0    
F;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69    
G;0;0;0;0;0;1.69;0;0;1.69;1.69;0    
H;0;0;0;0;0;1.69;0;0;1.69;1.69;0    
I;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69
J;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69;1.69
K;0;0;0;0;0;1.69;0;0;1.69;1.69;0
Run Code Online (Sandbox Code Playgroud)

感谢任何帮助

python matplotlib heatmap outliers colorbar

5
推荐指数
1
解决办法
4399
查看次数

标签 统计

colorbar ×1

heatmap ×1

matplotlib ×1

outliers ×1

python ×1