Python 画图-绘制曲面等高线

#coding=utf-8
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,[-0.75,-0.5,-0.25,0.25,0.5])  # 如果想要在等高线上标出相应的值,需要重新生成一个对象,不能是3d对象
bx.clabel(C, inline=True, fontsize=10)  # 在等高线上标出对应的z值
ax.set_zlim(-2, 2)  # 设置z的范围
plt.show()  

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/lylclz/article/details/79691388