import numpy as np import matplotlib.pyplot as plt
plt.figure(1) ax = plt.subplot(111) x = np.linspace(0, np.pi * 2, 200) # 在0到2pi之间,均匀产生200点的数组 # r = 2cosθ r = 2 * np.cos(x) # 半径 ax.plot(r * np.cos(x), r * np.sin(x))
# r = 1 r = 1 ax.plot(r * np.cos(x), r * np.sin(x)) plt.show()
运行结果
2. 三维绘图
描述:
绘制向量函数 r(t)=(sint,cost,t)
的图,可将函数视为“大黄蜂”的飞行曲线,即 t
时刻,它在空间中的位置是(x,y,z)。即向量 r 的坐标 x,y,z 都是 t
的函数,分别是 x(t)=sint, y(t)=cost,
z(t)=t。并且绘制它的导数(飞行速度)r’(t)=(cost,-sint,1)
t = np.linspace(0, 4, 200) # 在0到4之间,均匀产生200点的数组 theta = t * 2 * np.pi # 角度 # r(t)=(sint,cost,t) z = t x = np.sin(theta) y = np.cos(theta) ax.plot(x, y, z, label='r(t)') # r’(t) z = 1 x = np.cos(theta) y = -np.sin(theta) ax.plot(x, y, z, label='r\'(t)') ax.legend() plt.show()
运行结果
3. 三维曲面
描述
绘制曲面 z = x^2 + y^2
程序
1 2 3 4 5 6 7 8 9 10 11 12 13
from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure() ax = Axes3D(fig) X = np.arange(-2, 2, 0.1) Y = np.arange(-2, 2, 0.1) X, Y = np.meshgrid(X, Y) Z = X**2 + Y**2
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow') plt.show()