2015-06-09 7 views
1

Я пытаюсь построить график 3D-рассеяния с matplotlib от IPython. Я могу сделать сюжет, когда я использую волшебную команду инлайн следующийMatplotlib не отображает интерактивный график в Ipython

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?

+3

Встроенный бэкэнд создает статическое изображение (png) фигуры matplotlib. Чтобы получить интерактивное поведение, используйте бэкэнд '% matplotlib notebook''. – Jakob

ответ

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/ См для интерактивных инлайн участков.

Смежные вопросы