并排的相同轴3d具有不同的方向

时间:2016-02-18 21:40:50

标签: python matplotlib

我正在使用matplotlib绘制3D桁架的变形。现在,我要做的是在同一个图上显示完全相同的axes3D的两个视图(并排),在这种情况下,一个在等轴测视图和侧视图中。我可以用最少量的复制粘贴来做到这一点吗?

我没有包含代码,因为matplotlib网页上的任何示例都足够了。

1 个答案:

答案 0 :(得分:1)

我认为你不能创建轴的副本,只是改变它的视角。我认为最简单的方法是创建一个函数,传递子图的位置和视角。

以下是一个示例,基于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()

enter image description here