简单圆
import numpy as np
import matplotlib.pyplot as plt
plt.figure()
ax = plt.subplot()
# 在0到2pi之间,均匀产生100点的数组
x = np.linspace(0, np.pi * 2, 100)
# 半径为1,圆心为0,0
r = 1
ax.plot(r * np.cos(x), r * np.sin(x))
plt.show()

参数方程式
半径为1
圆心1,0

import numpy as np
import matplotlib.pyplot as plt
plt.figure()
ax = plt.subplot()
x = np.linspace(0, np.pi, 100) # 在0到2pi之间,均匀产生100点的数组
# r不是半径
r = 2
ax.plot(r * np.cos(x) * np.cos(x), r * np.cos(x) * np.sin(x))
plt.show()

三维绘图
绘制向量函数r(t)=(sint,cost,t)的图,即向量r的坐标x,y,z都是t的函数,分别是x(t)=sint, y(t)=cost, z(t)=t。可将函数视为“大黄蜂”的飞行曲线,即t时刻,它在空间中的位置是(x,y,z),以及它的导数(飞行速度)x’(t)=cost, y’(t)=-sint,z=1,即r’(t)=(cost,-sint,1)
螺旋线
import numpy as np
import matplotlib.pyplot as plt
# 必须引入这个模块
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
# 指定三维空间做图
ax = fig.add_subplot(1, 1, 1, projection='3d')
# 在0到4之间,均匀产生200点的数组
t = np.linspace(0, 4, 200)
# 角度
theta = t * 2 * np.pi
z = t
x = np.sin(theta)
y = np.cos(theta)
ax.plot(x, y, z, label='r(t)')
z = 1
x = np.cos(theta)
y = -np.sin(theta)
ax.plot(x, y, z, label='r\'(t)')
ax.legend()
plt.show()

绘制三维曲面
z = x^2 +y^2
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()

本文通过Python的matplotlib库演示了如何绘制多种类型的二维和三维图形,包括简单的圆形、螺旋线以及三维曲面图。提供了完整的代码示例,帮助读者理解和实践不同图形的绘制方法。
3140

被折叠的 条评论
为什么被折叠?



