1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > matplotlib之contours等高线 3D图(笔记五)

matplotlib之contours等高线 3D图(笔记五)

时间:2024-06-04 11:27:21

相关推荐

matplotlib之contours等高线 3D图(笔记五)

等高线代码:

# -*- coding:utf-8 -*-#matplotlib等高线import matplotlib.pyplot as pltimport numpy as npdef f(x,y):return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)x=np.linspace(-3,3,100)y=np.linspace(-3,3,100)X,Y=np.meshgrid(x,y)plt.contourf(X,Y,f(X,Y),8,alpha=0.5,cmap=plt.cm.hot)#cmp表示图的颜色,8表示8+1条线#x,y的坐标去掉plt.xticks(())plt.yticks(())plt.show()

图形展示:

添加等高线的描述:

# -*- coding:utf-8 -*-#matplotlib等高线import matplotlib.pyplot as pltimport numpy as npdef f(x,y):return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)x=np.linspace(-3,3,100)y=np.linspace(-3,3,100)X,Y=np.meshgrid(x,y)plt.contourf(X,Y,f(X,Y),8,alpha=0.5,cmap=plt.cm.hot)#cmp表示图的颜色,8表示8+1条线#等高线的描述C=plt.contour(X,Y,f(X,Y),8,colors='black',linewidth=.5)plt.clabel(C,inline=True,fontsize=10)#True表示数值再等高线里面,字体大小是10#x,y的坐标去掉plt.xticks(())plt.yticks(())plt.show()

绘制3D图形:

# -*- coding:utf-8 -*-#matplotlib等高线import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig=plt.figure()ax=Axes3D(fig)x=np.arange(-4,4,0.25)y=np.arange(-4,4,0.25)X,Y=np.meshgrid(x,y)R=np.sqrt(X**2 + Y**2)Z=np.sin(R)ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))#rstride、cstride调整图形格子大小,cmap设置颜色plt.show()

效果展示:

再次添加等高线:

# -*- coding:utf-8 -*-#matplotlib等高线import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfig=plt.figure()ax=Axes3D(fig)x=np.arange(-4,4,0.25)y=np.arange(-4,4,0.25)X,Y=np.meshgrid(x,y)R=np.sqrt(X**2 + Y**2)Z=np.sin(R)ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))#rstride、cstride调整图形格子大小,cmap设置颜色#绘制一个等高线图ax.contourf(X,Y,Z,zdir='z',offser=-2,cmap='rainbow')ax.set_zlim(-2,2)plt.show()

效果展示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。