1. 程式人生 > >Python畫圖初體驗----曲面圖和等高線圖

Python畫圖初體驗----曲面圖和等高線圖

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
ax = Axes3D(fig)     #生成一個3d物件
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)    #對X,Y陣列進行擴充
R = np.sqrt(X**2+Y**2)
Z = np.sin(R)
ax.set_xlabel('X label',color='r') #設定x座標
ax.set_ylabel('Y label',color='r')
ax.set_zlabel('Z label')
ax.plot_surface(X, Y, Z,rstride=1,cstride=1,cmap=plt.cm.hot)#生成一個曲面
#ax.contourf(X,Y,Z,offset=2,alpha=0.75,cmap=plt.cm.hot)#為等高線填充顏色
ax.contour(X, Y, Z, offset=-2, colors='black')#生成等高線 offset引數是等高線所處的位置

fig=plt.figure()

bx=fig.add_subplot(111)#再生成一個字圖

C=bx.contour(X,Y,Z) #如果想要在等高線上標出相應的值,需要重新生成一個物件,不能是3d物件
bx.clabel(C,inline=True,fontsize=10) #在等高線上標出對應的z值
ax.set_zlim(-2,2)#設定z的範圍
plt.show()