来自数据文件的Python matplotlib imshow

问题描述 投票:1回答:1

我有一个三列数据文件(x y z1 z2 z3),其中z具有对应于网格点x,y的值data file

我想使用z1从存储在文件中的数据创建一个matplotlib.pyplot.imshow。我发现这段代码对我来说不合适:

x,y,data1 = np.genfromtxt('cosrevalsjpdf.dat',usecols=(0,1,2),unpack=True,skip_header=0)
xll = x.min();  xul = x.max();  yll = y.min();  yul = y.max()
xi = np.linspace(x.min(), x.max(), 100) 
yi = np.linspace(y.min(), y.max(), 100) 
zi = scipy.interpolate.griddata((x, y), z, (xi[None,:], yi[:,None]), method='linear')

fig = plt.figure()
plt.imshow(zi, extent=[xll, xul, yll, yul], origin='lower', cmap=cm.hot, alpha=0.9)
plt.show() 

我想获得一个充满色彩的2D等高线图,不像使用contourf并生成一条等值线..我该怎么办?

使用contourf,如下所示:

plt.contourf(xi,yi,zi,cmap=cm.hot, levels=20)

我获得了这个..很好,但是我想用白色填充黑色区域,我该怎么办?result

python matplotlib imshow contourf
1个回答
0
投票

通过ax = plt.gca()获取当前轴,并通过ax.set_facecolor('black')ax.patch.set_facecolor('black')更改其颜色。

© www.soinside.com 2019 - 2024. All rights reserved.