Python:Matplotlib曲面图

Python:Matplotlib曲面图,python,matplotlib,Python,Matplotlib,我正在尝试绘制一个高分辨率的曲面图,但我也很想在上面画一些漂亮的网格线。如果我在同一个参数中使用网格线 ax.plot_surface(x_itp, y_itp, z_itp, rstride=1, cstride=1, facecolors=facecolors, linewidth=0.1) 我有很多网格线。另一方面,如果我将“rstride”和“cstride”设置为更高的值,我的球体将变得丑陋 然后我试着砸碎了一块石头 ax.plot_wireframe(x_itp, y_itp, z

我正在尝试绘制一个高分辨率的曲面图,但我也很想在上面画一些漂亮的网格线。如果我在同一个参数中使用网格线

ax.plot_surface(x_itp, y_itp, z_itp, rstride=1, cstride=1, facecolors=facecolors, linewidth=0.1)
我有很多网格线。另一方面,如果我将“rstride”和“cstride”设置为更高的值,我的球体将变得丑陋

然后我试着砸碎了一块石头

ax.plot_wireframe(x_itp, y_itp, z_itp, rstride=3, cstride=3)
但它只是位于彩色球体的顶部。。这意味着我可以看到线框的背面,然后是线框后面的曲面图

有人试过这个吗

另一个选择是使用“Basemap”,它可以创建一个漂亮的网格,但是我必须调整我的彩色表面以适应它

我的情节是这样的:

如果我使用更高的“rstride”和“cstride”将边添加到地图中,则看起来如下所示:

代码:

norm = plt.Normalize()
facecolors = plt.cm.jet(norm(d_itp))

# surface plot 
fig, ax = plt.subplots(1, 1, subplot_kw={'projection':'3d', 'aspect':'equal'})
ax.hold(True)
surf = ax.plot_surface(x_itp, y_itp, z_itp, rstride=4, cstride=4, facecolors=facecolors)
surf.set_edgecolors("black")
我想显示球体周围的θ和φ角。。也许相隔30度

干杯!
Morten

看起来您可能需要使用basemap。使用plot_surface()可以使用高分辨率plot,也可以使用顶部具有良好栅格的低分辨率plot。但不是两者都有。我刚刚用等高线图做了一个简单的底图。我想你可以很容易地在上面涂上pcolor。只是不要划定大陆和国家的边界。然后,你有一个很好的球体,它提供了更多的控制。绘制绘图后,您可以轻松地在其上添加网格

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np

map = Basemap(projection='ortho',lat_0=45,lon_0=-150) 
map.drawmapboundary(fill_color='aquamarine')
map.drawmeridians(np.arange(0,360,30)) # grid every 30 deg
map.drawparallels(np.arange(-90,90,30))

nlats = 73; nlons = 145; delta = 2.*np.pi/(nlons-1)
lats = (0.5*np.pi-delta*np.indices((nlats,nlons))[0,:,:])
lons = (delta*np.indices((nlats,nlons))[1,:,:])
wave = 0.6*(np.sin(2.*lats)**6*np.cos(4.*lons))
mean = 0.5*np.cos(2.*lats)*((np.sin(2.*lats))**2 + 2.)

x, y = map(lons*180./np.pi, lats*180./np.pi) # projection from lat, lon to sphere
cs = map.contour(x,y,wave+mean,15,linewidths=1.5) # contour data. You can use pcolor() for your project
plt.title('test1')
plt.show()

你会发布你的绘图吗?这可能不是你想要的。但我只是给你一个新的可能性。可以独立控制打印分辨率和栅格间隔。