Matplotlib不会在Ipython中显示交互式图形

时间:2015-06-09 17:41:48

标签: python matplotlib ipython

我正在尝试使用来自IPython的matplotlib绘制3D散点图。当我使用内联魔术命令时,我可以制作一个情节,如下所示

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
%matplotlib inline

y = np.arange(10)
x = np.arange(10)
z = np.arange(10)

plt.figure()
ax = plt.axes(projection='3d')
ax.scatter(x,y,z)

但由于情节内联,它不是交互式的,我无法将其旋转到我想要的视角。当我用

替换内联命令时
%matplotlib

我得到了

<mpl_toolkits.mplot3d.art3d.Path3DCollection at 0x7fb80bf40358>

作为输出,但不显示任何窗口或图形。如果我添加

plt.show()

到脚本的末尾,没有任何反应。如何在IPython中绘制交互式图形?

1 个答案:

答案 0 :(得分:1)

您可能希望使用pylab来删除大多数导入和所有命名空间:

%pylab
from mpl_toolkits.mplot3d import Axes3D

y = rand(100)
x = rand(100)
z = rand(100)

ax = subplot(projection='3d')
ax.scatter(x, y, z)

有关交互式内联图,请参阅https://plot.ly/