Matplotlib无法旋转3D图形

4 投票
1 回答
5692 浏览
提问于 2025-04-18 03:47

我写了以下测试代码来演示这个问题:

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()

撰写回答