Python Matplotlib是否复制/复制三维地物?

Python Matplotlib是否复制/复制三维地物?,python,python-2.7,python-3.x,matplotlib,Python,Python 2.7,Python 3.x,Matplotlib,我试图找到一种在matplotlib中复制三维图形的方法,但没有找到适合我的解决方案 从这些职位 及 使用fig2.\u axstack.add(图g2.\u make\u key(ax),ax)如下代码给出了相当好的结果,但图2不是交互式的,我无法旋转图形等: import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D fig = plt.figure(1) ax = fig.gca(projection

我试图找到一种在matplotlib中复制三维图形的方法,但没有找到适合我的解决方案

从这些职位 及 使用
fig2.\u axstack.add(图g2.\u make\u key(ax),ax)
如下代码给出了相当好的结果,但图2不是交互式的,我无法旋转图形等:

import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure(1)
ax = fig.gca(projection = '3d')

ax.plot([0,1],[0,1],[0,1])

fig2 = plt.figure(2)
fig2._axstack.add(fig2._make_key(ax),ax)

plt.show()
另一种方法是使用本文提出的复制方法将对象从ax复制到ax2,但执行下面的代码会返回
运行时错误:不能将单个艺术家放入多个图形中

import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D
import numpy as np, copy

fig = plt.figure(1)
ax = fig.gca(projection = '3d')

ax.plot([0,1],[0,1],[0,1])

fig2 = plt.figure(2)
ax2 = fig2.gca(projection = '3d')

for n in range(len(ax.lines)) :
    ax2.add_line(copy.copy(ax.lines[n]))
plt.show()
这些代码非常简单,但我不想复制/粘贴用于绘制类似图形的部分代码


提前感谢您的回复

与其复制粘贴代码,为什么不编写一个函数,将
ax
对象作为参数,并使用两个不同的
对象调用该函数两次?是的,这将是一个“简单”的解决方案,但如果您有一个非常长的绘图,如3d曲面或复杂的函数,多次运行此函数不是一个“好”的解决方案。无论如何谢谢你!与其复制粘贴代码,为什么不编写一个函数,将
ax
对象作为参数,并使用两个不同的
对象调用该函数两次呢?是的,这将是一个“简单”的解决方案,但如果你有一个很长的绘图,如3d曲面或复杂的函数,请多次运行此函数不是一个简单的解决方案“好”的解决方案,谢谢!