import matplotlib.pyplot as pltimport numpy as npplt.style.use('_mpl-gallery')# Make datan = 100xs = np.linspace(0, 1, n)ys = np.sin(xs * 6 * np.pi)zs = np.cos(xs * 6 * np.pi)# Plotfig, ax = plt.subplots(subplot_kw={"projection": "3d"})ax.plot(xs, ys, zs)ax.set(xticklabels=[], yticklabels=[], zticklabels=[])plt.show()
# 1、导入库import matplotlib.pyplot as pltimport numpy as np# 2、设置内置绘图样式plt.style.use('_mpl-gallery')# 3、生成数据n = 100 # 定义数据点的数量。xs = np.linspace(0, 1, n) # 在 0 到 1 之间均匀生成 n 个点,作为 x 轴数据。ys = np.sin(xs * 6 * np.pi) # 计算每个 xs 对应的正弦值,频率为 6π,即 xs 从 0 到 1 时,角度从 0 到 6π,完成 3 个完整周期。zs = np.cos(xs * 6 * np.pi) # 计算每个 xs 对应的余弦值,频率与 ys 相同# 因此 ys 和 zs 构成一个半径为 1 的圆在 yz 平面上的投影,且随着 xs 线性变化,形成螺旋状曲线。# 4、创建一个图形(fig)和一个三维坐标轴(ax)fig, ax = plt.subplots(subplot_kw={'projection': '3d'})# subplot_kw={"projection": "3d"} 指定该子图为 3D 投影,从而可以绘制三维图形# 5、在三维坐标轴上绘制曲线ax.plot(xs, ys, zs)# 以 xs 为 x 坐标,ys 为 y 坐标,zs 为 z 坐标。# 由于 ys 和 zs 分别是正弦和余弦值,且 xs 线性增加,最终得到的曲线是一个在三维空间中绕 x 轴旋转的螺旋线(或称为弹簧形状)。# 6、设置坐标轴ax.set(xticklabels=[], yticklabels=[], zticklabels=[])# 隐藏坐标轴的刻度标签,使图表更简洁,只显示曲线本身# 7、显示绘制的图形plt.show()
使用plot(xs, ys, zs)函数绘制3D曲线。