用python实现数据可视化,python图形库matplotlib

  用python实现数据可视化,python图形库matplotlib

  我认为这是你正在寻找(大致).请注意,在绘制伪彩图并传入hsv色彩模型色彩模型色彩映射(文档:

  pcolormesh的电位参数和

  可用的色彩映射表)之前,关键的是屏蔽数据数组。

  我已经保留代码来绘制地图,非常接近实例,所以应该很容易遵循。同样的原因我保留了插值代码。请注意,插值是线性的,而不是立方体kx=ky=1因为您没有给出足够的点来进行立体插值(您需要至少16个西皮会抱怨较少说"米必须是=(kx 1)(ky 1)",尽管在文件中没有提到约束).

  我也扩展了网格的范围,并保持在x/y的范围内。

  码

  从mpl_toolkits.basemap导入底图,马斯克海洋

  将matplotlib.pyplot作为血小板计数导入

  将数组作为铭牌导入

  从科学计算导入插值

  #设置正交地图投影

  #卫星俯视0N,20W的视角(主要焦点在非洲)

  #使用低分辨率海岸线。

  地图=底图(投影=正射,lat_0=0,lon_0=20,分辨率=l )

  #画出海岸线,国界

  地图.绘制海岸线(线宽=0.25)

  map.drawcountries(线宽=0.25)

  #可选地(下面的注释行)给地图一个填充颜色-例如,蓝色的大海

  #地图。drawmap boundary(fill _ color= aqua )

  #每隔30度画一条横向/纵向网格线。

  地图。画子午线(np.arange(0,360,30))

  地图。画平行线(NP。arange(-90,90,30))

  data={Lagos: (6.453056,3.395833,0),

  开罗:(30.05,31.233333,90),

  约翰内斯堡:(-26.204444,28.045556,180),

  摩加迪沙:(2.033333,45.35,270)}

  x,y,z=zip(*data.values())

  xnew,ynew=np.mgrid[-30:60:0.1,-50:50:0.1]

  tck=interpolate.bisplrep(x,y,z,s=0,kx=1,ky=1)

  znew=interpolate.bisplev(xnew[:0],ynew[0,],tck)

  znew=maskoceans(xnew,ynew,znew)

  col_plot=map.pcolormesh(xnew,ynew,znew,latlon=True,cmap=hsv )

  plt.show()

  产量

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: