Matplotlib无法旋转3D图形
我写了以下测试代码来演示这个问题:
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()
这段代码可以绘制一个三维的表面,但我无法抓住它并旋转它。问题出在哪里呢?
1 个回答
4
当我遇到过同样的问题时,在导入任何与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()