gpt4 book ai didi

python - pcolormesh 绘制的不是点而是数据点之间的线

转载 作者:太空宇宙 更新时间:2023-11-03 19:01:28 28 4
gpt4 key购买 nike

我需要将降雨汇总数据(来自卫星观测)绘制到 grib2 文件的 map 上。最后,我设法通过文本文件将数据加载到 numpy 数组中,并使用 basemap 将其与图片坐标联系起来。但问题是Python不会从数据中提取彩色点,而是倾向于在数据字段中的相邻点之间绘制线条,因此绘图看起来很难看。我没有看到问题的根源。

我的代码片段是:

import numpy as np
import matplotlib
matplotlib.use('Agg')
from scipy import *
from pylab import *
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import cm
<小时/>

之后,我读取所需的数据并生成 3 个形状约为 (100000, 2) 的 numpy 数组,其中分别包含纬度、经度、度数和每个数据点的值。我使用以下命令将其可视化:

def joonista(lats,lons,value,nimi,clevs,koloriit):

---------所描述的 reshape 片段(未显示),生成数组“lats”、“lons”、“value”------------

map=Basemap(projection='aea',lat_1=30,lat_2=50,lat_0=45,lon_0=0,llcrnrlon=-30,llcrnrlat=20,urcrnrlon=80,urcrnrlat=53,resolution='l',)

x, y = map(lons, lats)
map.drawcoastlines(linewidth=0.17,color='0.7')
map.drawcountries(linewidth=0.17,color='0.7')
map.drawmeridians(np.arange(-50,60,5),linewidth=0.17,color='0.7',labels=[False,False,False,True])
map.drawparallels(np.arange(-25, 70, 5),linewidth=0.17,color='0.7',labels=[True,False,False,False])
varvid=mpl.colors.ListedColormap(koloriit)
norm = mpl.colors.BoundaryNorm(clevs,varvid.N)
cs = map.pcolormesh(x,y,value,cmap=varvid,norm=norm)
savefig(nimi,dpi=300)
plt.clf()

joonista(latA,lonA,valueA,'h05',[-1,0.00001,0.001,0.01,0.1,0.3,0.5,1,2,3,4,5,6,7,8,9,10,11,12,13],['k','c','#a0fff9','#00b354','#69b300','#97ff03','#C2524D','#FF7500','#b3a900','#fff551','#515bff','#45adff','#da000d','#ff2a36','#ffa0a5','#f003ff','#f778ff','0.5','0.75'])
joonista(latB,lonB,valueB,'h04',[-1,0.0000000000001,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],['k','c','#a0fff9','#00b354','#69b300','#97ff03','#C2524D','#FF7500','#b3a900','#fff551','#515bff','#45adff','#da000d','#ff2a36','#ffa0a5','#f003ff','#f778ff','0.5','0.75'])
<小时/>

这是一个示例图片:

Example

如果有人告诉我如何解决这个问题,我将不胜感激。

阿列克谢

最佳答案

根据 Joe Kington 的建议,我替换了命令

cs=map.pcolormesh(x,y,value,cmap=varvid,norm=norm)

通过命令

cs=plt.scatter(x,y,c=value,s=0.6, edgecolors='none',marker=',',cmap=varvid,norm=norm)

很好地可视化降水分布。

感谢您的帮助!

关于python - pcolormesh 绘制的不是点而是数据点之间的线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15947794/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com