小编use*_*764的帖子

热图上的特定异常值-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
查看次数

matplotlib热图的中心对齐刻度标签

我已经用imshow绘制了一张热图,但即使我做了,我也无法让x刻度标签居中对齐ha='center'.

这是我的代码:

font= mpl.rcParams['font.size']=8.0
lineWidth= mpl.rcParams['lines.linewidth']= 1.0
absolute_max=abs(max_num)
absolute_min=abs(min_num)
cb_boundary=max(absolute_max,absolute_min)
tree=Phylo.read("reorder.nwk","newick")
a=1.0

cdict = {'red':  ((0.0, 0.0, 0.0),
               (0.25,0.0, 0.0),
               (0.5, 0.8, 1.0),
               (0.75,1.0, 1.0),
               (1.0, 0.4, 1.0)),

     'green': ((0.0, 0.0, 0.0),
               (0.25,0.0, 0.0),
               (0.5, 0.9, 0.9),
               (0.75,0.0, 0.0),
               (1.0, 0.0, 0.0)),

     'blue':  ((0.0, 0.0, 0.4),
               (0.25,1.0, 1.0),
               (0.5, 1.0, 0.8),
               (0.75,0.0, 0.0),
               (1.0, 0.0, 0.0))
    }

plt.register_cmap(name='BlueRed', data=cdict)
norm = mpl.colors.Normalize(vmin=-3.0, vmax=3.0)
cmap = plt.get_cmap('BlueRed')
masked_array = np.ma.masked_where(full_len==np.NaN,full_len)
cmap.set_bad('green',1.0)
fig= plt.figure(figsize=(19,10))
rect_phyl = [-0.7, 0.3, 0.2, 0.6] …
Run Code Online (Sandbox Code Playgroud)

python matplotlib heatmap

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

将鼠标悬停在干线图中matplotlib中的某个点上时,是否可以显示标签?

我是matplotlib的新手,当鼠标悬停在那个点上时,我希望用x,y co-od标记茎干.当我搜索时,一切都是为了散点图(当在matplotlib中的一个点上空悬停时可能会出现标签?现在的代码是这样的:

def plot_matching(mzs,ints,matching,scan_num):
fig=p1.gcf()
fig.canvas.set_window_title('MS/MS Viewer')
rel_ints=relative_intensity(ints)
p1.xlim(min(mzs)-100,max(mzs)+100)
p1.ylim(min(rel_ints),max(rel_ints)+5)
p1.title('Scan Number:'+scan_num)
p1.xlabel('m/z')
p1.ylabel('Relative intensity')
mzs_rel=zip(mzs,rel_ints)    
for x,y in mzs_rel:
    x1=[]
    y1=[]
    x1.append(x)
    y1.append(y)
    markerline, stemlines, baseline=p1.stem(x1,y1)
    p1.setp(markerline, 'Marker', '')
    for m in matching:
        if x==m[1] and y>3.0:
            p1.setp(stemlines, linewidth=2, color='r')
            p1.text(x,y,m[0],fontsize=12)
            break
        else:
            p1.setp(stemlines,linewidth=2, color='g')
return p1
Run Code Online (Sandbox Code Playgroud)

干散图的散点图也会链接吗?

python matplotlib mouseover

4
推荐指数
1
解决办法
4972
查看次数

.png文件未正确保存matplotlib

在png中以300为dpi保存多个网格数字时,我的质量会下降

但是,将图形另存为pdf时不会发生此错误.

以下是保存生成图像的代码的一小部分:

fig.savefig(filepath, format = 'pdf'
             ,bbox_inches='tight',dpi=300)

fig.savefig(filepath, format = 'png'
             ,bbox_inches='tight',dpi=300)
Run Code Online (Sandbox Code Playgroud)

有没有办法获得如上所述的图像的良好分辨率png而不必诉诸于使用pdf?

python pdf png matplotlib

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

标签 统计

matplotlib ×4

python ×4

heatmap ×2

colorbar ×1

mouseover ×1

outliers ×1

pdf ×1

png ×1