我正在使用 matplotlib
绘制 3D 桁架的变形。现在,我想做的是在同一个图形上显示完全相同的axes3D的两个 View (并排),在本例中,一个是等角 View ,另一个是侧 View 。我可以通过最少的复制粘贴来完成此操作吗?
我没有包含代码,因为 matplotlib 网页中的任何示例就足够了。
最佳答案
我认为您不能创建轴的副本并仅更改其视角。我认为最简单的方法是创建一个函数,将子图的位置和视角传递给该函数。
这是一个基于 mpl website 中的 lines3d_demo
示例的示例
import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
mpl.rcParams['legend.fontsize'] = 10
fig = plt.figure(figsize=(9,4))
def makeplot(position,angle):
ax = fig.add_subplot(position,projection='3d')
ax.plot(x, y, z, label='parametric curve')
ax.view_init(30, angle)
ax.legend()
return ax
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax1 = makeplot(121,30)
ax2 = makeplot(122,60)
plt.show()
关于python - 具有不同方向的并排相同的 axis3d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35492954/