python地图散点图_Python中基于Basemap的三维散点图
我正在嘗試?yán)L制一個三維散點圖,圖中是Python身上的煙羽,下面是北美的地圖。
我試過各種方法,但似乎都有缺點。
我現(xiàn)在的代碼是:fig = plt.figure(figsize=(22,4))
ax = Axes3D(fig)
M = Basemap(llcrnrlon=-140,llcrnrlat=10,urcrnrlon=-40,urcrnrlat=70,
projection='cyl', resolution ='c',area_thresh=100.)
ax.add_collection3d(M.drawcoastlines(linewidth=0.5))
ax.add_collection3d(M.drawcountries(linewidth=0.5))
ax.add_collection3d(M.drawparallels(np.arange(35,65,5),labels=[1,0,0,0]))
date = save_dir[-10:]
tau = tau_mod.int2tau(date)
dt = tau_mod.tau2time(tau)
q = ax.plot(max_x, max_y, max_z, c = 'black', lw = 3)
y,x=M(y,x)
p = ax.scatter(x,y,z,lw = 0,c = conc ,alpha = 0.75, s = 40,
norm=matplotlib.colors.LogNorm(),vmin = 20,
vmax = 4000, marker = ',',zorder=2)
ax.view_init(azim = a ,elev = e)
cb = fig.colorbar(p)
cb.set_label('CO [ppb]')
cmin , cmax = cb.get_clim()
ticks = np.linspace(cmin,cmax,10)
for t in range(len(ticks)):
ticks[t] = int("%i" % ticks[t])
cb.set_ticks(ticks)
cb.set_ticklabels(ticks)
ax.set_xlabel('Longitude')
ax.set_ylabel('Latitude')
ax.set_zlabel('Altitude [km]')
plt.show()
我遇到的兩個主要問題是:
散點圖不會出現(xiàn)在地圖上-您可以在軸邊界外的距離內(nèi)看到它。
drawparallels不工作-它顯示以下消息:
'噸=ax.文本(xlab,yy[n],latlab,horizontalalignment='right','verticalalignment='center',**kwargs)
TypeError:text()至少接受5個參數(shù)(給定4個)'(在二維繪圖中使用此命令從未遇到過此問題)。在
我還試著用平面圖但這就產(chǎn)生了一個圖像順序的問題——不管我使用什么樣的zorder,它似乎都會在散點圖上繪制表面圖像。在
任何幫助都將不勝感激!在
總結(jié)
以上是生活随笔為你收集整理的python地图散点图_Python中基于Basemap的三维散点图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑装系统步骤方法如何做电脑系统
- 下一篇: python selenium循环判断元