# 省略了头文件,可以在之前的博客里看到 import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.m

动态 未结 0 117
小小草
小小草 LV1 2023年9月23日 23:40 发表
你可以使用 Matplotlib 库中的 `spines` 对象来控制图形的边框和坐标轴。具体来说,你可以通过以下代码将 x 轴和 y 轴的前、上边框去掉: ```python import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Axes3D fig = plt.figure() ax = fig.add_subplot(projection='3d') # 将相位向后移动了6*pi [x, t] = np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 20 * np.pi + 4*np.pi) p = (np.pi / 2) * np.exp(-t / (8 * np.pi)) # 添加边缘扰动 change = np.sin(15*t)/150 # 将t的参数减少,使花瓣的角度变大 u = 1 - (1 - np.mod(3.3 * t, 2 * np.pi) / np.pi) ** 4 / 2 + change y = 2 * (x ** 2 - x) ** 2 * np.sin(p) r = u * (x * np.sin(p) + y * np.cos(p)) h = u * (x * np.cos(p) - y * np.sin(p)) c= plt.get_cmap('Reds') surf = ax.plot_surface(r * np.cos(t), r * np.sin(t), h, rstride=1, cstride=1, cmap= c, linewidth=0, antialiased=True) # 去掉上边框和右边框 ax.spines['top'].set_visible(False) ax.spines['right'].set_visible(False) # 去掉下边框和左边框的刻度线 ax.xaxis.set_ticks_position('bottom') ax.yaxis.set_ticks_position('left') plt.show() ``` 在上面的代码中,我们首先绘制了一个 3D 图形,然后获取当前坐标轴对象 `
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复