我编写了以下测试代码来演示问题:
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
x=np.linspace(0,1,10)
y=np.linspace(0,1,10)
X,Y=np.meshgrid(x,y)
ax = plt.gca(projection='3d')
ax.plot_surface(X,Y,X+Y)
plt.show()
此代码绘制了一个3d表面,但我无法抓取并旋转它。问题在哪里?
答案 0 :(得分:1)
当我遇到同样的问题时,在导入任何相关的matplotlib之前添加以下行(即在您的示例中的第2行上方)可以解决问题。
import matplotlib
matplotlib.use('Qt4Agg')
所以,你的例子是:
import numpy as np
import matplotlib
matplotlib.use('Qt4Agg')
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import pyplot as plt
x=np.linspace(0,1,10)
y=np.linspace(0,1,10)
X,Y=np.meshgrid(x,y)
ax = plt.gca(projection='3d')
ax.plot_surface(X,Y,X+Y)
plt.show()