Есть ли способ создания интерактивных графиков (a la D3) в ноутбуках IPython?
Я нашел эти два ответа:
Анимированные графики в ipython-ноутбуке,
Как захватить график matplotlib как html в ноутбуке ipython?
Но они не учитывают интерактивность. Я хотел бы отобразить график с 2-3 кривыми и позволить пользователю навести эти кривые для получения более подробной информации или управления параметрами, которые используются для генерации этих кривых из комбинированного блока
Ответы
Ответ 1
проверьте следующий ответ на iPython: Manipulate-like command.
а также два следующих направления:
Ответ 2
Я не считаю, что стандартные графики matplotlib способны к интерактивности, которую вы хотите. Chaco может выполнять интерактивные графики, но не в ipython-ноутбуке AFAICT. Ваш лучший выбор, вероятно, Bokeh. Он выводит на Javascript/HTML, может выполнять интерактивные графики и имеет пример использования его из ipython.
Ответ 3
Вы можете проверить Plotly. Они отображают интерактивные графики D3 внутри IPython Notebooks (примеры здесь. Вы также можете экспортировать как статические изображения, так и масштабировать, зависать, панорамировать и видеть текст в режиме наведения. Интерактивность - это один из шагов, которые они подчеркивают. Кроме того, вы можете также использовать
Ответ 4
Как @AFoglia, я собираюсь предложить другие библиотеки, которые могут быть тем, что вы ищете: Tangle, Ноутбуки Mathematica, IPython/Bokeh, RactiveJS или ReactJS.
Ответ 5
Другим решением может быть библиотека Charts. Это позволяет вам использовать отличную библиотеку javascript Highcharts, чтобы сделать красивые и интерактивные сюжеты из коробки.
Некоторые функции:
- Векторные графики, которые вы можете скачать в форматах .png,.jpg и .svg, чтобы вы никогда не столкнулись с проблемами разрешения.
- Интерактивные диаграммы (масштабирование, слайд, зависание над точками,...)
- Используется в ноутбуке IPython
- Исследуйте сотни структур данных одновременно, используя возможности асинхронного построения.
Отказ от ответственности: я разработчик библиотеки
Ответ 6
Вы можете запускать javascript прямо из ноутбуков IPython (%%html
и %%javascript
), поэтому можно запустить код D3. Проверьте видео. Точный способ, которым это было бы реализовано, пока не задан, поскольку это функция для IPython 2.0. На данный момент есть много хакеров, а также проекты, которые пытаются перенести некоторые характеристики D3 на Python (такие как bokeh и python-nvd3).
Я еще не тестировал ни одного из них. Мое собственное предубеждение состояло бы в том, чтобы сначала попробовать пример ниже, который является статичным, но напрямую использует D3 (поэтому теоретически он должен работать для интерактивных графиков):
Ответ 7
Другие ответы здесь, похоже, устарели. IPython 2.0 имеет поддержку для интерактивных виджетов. Прочитайте документы, включая некоторые примеры, но обратите внимание, что nbviewer.ipython.org не отображает интерактивные виджеты. Скопируйте и вставив примеры в try.jupyter.org.