繁体   English   中英

Python matplotlib imshow 来自数据文件

[英]Python matplotlib imshow from data file

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

我想使用 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 轮廓 plot 不像使用contourf生成等值线.. 我该怎么办?

使用contourf如下:

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

我得到了这个..这很好,但我想把白色区域完全填满,我该怎么做? 结果

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM