ipython notebook - вбудований пілаб: масштабування сюжету


82

Чи можна збільшити графік, якщо вбудований рядок? Особливо щодо обертання та масштабування 3D-графіків є необхідною особливістю.

Відповіді:


90

Тепер завдяки mpld3 надзвичайно легко увімкнути масштабування вбудованих графіків!

Все, що вам потрібно зробити, це встановити mpld3 ( pip install mpld3), а потім додати це у свій блокнот:

%matplotlib inline
import mpld3
mpld3.enable_notebook()

Тепер ваші графіки отримають меню панелі інструментів внизу ліворуч, в якому ви можете ввімкнути масштабування миші :)


Здається, 3D-сюжети ще не підтримуються: github.com/jakevdp/mpld3/issues/223
Théo T

3
Це чудово, але слід додати, що на деяких з більш важких ділянок (наприклад, ділянки, що містять мільйони балів) це дуже повільно.

2
Я реалізував це у своєму блокноті Jupyter 4.2.2, і збільшення масштабу призвело до того, що цифра порожняла. Додавши origin = 'lower' як аргумент до виклику imshow () це виправлено. (наприклад, imshow (res, origin = 'lower', cmap = cm.gray))
DanGoodrick

6
Не працює у мене. Я отримуюJson serialization error
Gulzar

95

Тепер ви можете використовувати %matplotlib notebookзамість цього, %matplotlib inlineі ви зможете взаємодіяти зі своїми ділянками.


1
Це чудове рішення. Якщо ви спробуєте, але це не працює, перевірте свою версію matplotlib. Думаю, це було представлено у версії 1.5
jpobst

Не працює так добре, як я сподівався з підзаговорами; може масштабувати та панорамувати окрему підзаголовку, але не може збільшувати / зменшувати розмір всього зображення сюжету. Що, чесно кажучи, не було оригінальним запитанням, заданим вище.
ijoseph

1
@ijoseph Ви також можете збільшити розмір всього зображення. Просто перетягніть нижній правий кут сюжету ..
Жоао Абрантес

4
Можливо, вам доведеться перезапустити блокнот, якщо ви вже зателефонували% matplotlib вбудовано
Гвідо

3
Я отримую повідомлення про помилку "Помилка Javascript: IPython не визначено"
Бен,

10

На сьогоднішній день найближче ви можете перемалювати його на більший розмір за допомогою figsizeфункції. Він очікує розмірів у дюймах, що мене виявило вперше, коли я спробував його використовувати.

Є деякі рослини для багатого інтерфейсу, які дозволять маніпулювати сюжетами в реальному часі, використовуючи HTML5, але я думаю, що це буде ще кілька місяців, перш ніж це буде готово.

Якщо ви використовуєте блокнот на своєму локальному комп’ютері, зараз найпростішим варіантом може бути не використання вбудованого режиму, тому графіки з’являються як окремі вікна.


1
Так, це - з останньою версією matplotlib, тепер ви можете вибрати серверну систему nbagg.
Thomas K

9

mpld3 сповільнив роботу моїх блокнотів. Я вважаю, що краще використовувати серверний сервер nbagg, який надає ті самі інтерактивні інструменти, але також дозволяє зберігати графіки за допомогою меню правої кнопки миші:

import matplotlib
matplotlib.use('nbagg')
import matplotlib.pyplot as plt

2
Я чесно вважаю, що це найкраща відповідь, виглядає набагато краще, ніж mpld3 та інші функції.
bznein

5

Ще один хороший приклад, який з’явився нещодавно, - це навчити цю роботу підрядникам:

https://plot.ly/python/3d-plots-tutorial/

Нехай вони самі обробляють візуалізацію, панорамування та масштабування!


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.