import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import axes3d
fig = plt.figure()
# axes = fig.gca(projection='3d')
axes = fig.add_subplot(projection='3d')
# 设置各个坐标轴下限和上限
axes.set_xlim3d(xmin=-2, xmax=2)
axes.set_ylim3d(ymin=-2, ymax=2)
axes.set_zlim3d(zmin=-2, zmax=2)
def draw_cylinder(xx, zz, ax):
"""
画出圆柱体
:param xx: 圆柱半径
:param zz: 圆柱高度
:param ax: 3D绘图对象axes
:return:
"""
x = np.linspace(-xx, xx, 100)
z = np.linspace(1, zz, 100)
Xc, Zc = np.meshgrid(x, z)
Yc = np.sqrt(xx ** 2 - Xc ** 2)
# rstride = 20
#
# cstride = 10
# , rstride=rstride, cstride=cstride
ax.plot_surface(Xc, Yc, Zc, alpha=0.2)
ax.plot_surface(Xc, -Yc, Zc, alpha=0.2)
python matplotlib修改3d图坐标上限和下限、画3D圆柱体
于 2023-01-03 10:16:56 首次发布