Шаг 197.
Язык Python. Визуализация данных.
Библиотека Mayavi. Использование Mayavi в Jupyter Notebook

    На этом шаге мы дадим несколько советов по использованию Mayavi в Jupyter Notebook.

    Для отображения результатов работы Mayavi в Jupyter Notebook необходимо указать backend, который будет использоваться для представления модели. В зависимости от того, какой вы хотите использовать backend, вам может понадобиться установить дополнительные компоненты.

    Для работы с backend'ом 'ipy' (рекомендуемый вариант) необходимо установить пакеты ipywidgets и ipyevents:

  conda install -c conda-forge ipyevents
  conda install -c conda-forge ipywidgets

    Backend 'png' представляет результат рендеринга в виде статичного изображения. С ним не получится поработать в интерактивном режиме.

    Ещё один вариант backend'а это 'x3d', который поддерживает X3D-элементы, для его использования выполните команду:

  jupyter nbextension install --py mayavi --user

    После установки всех необходимых компонентов запустите Jupyter Notebook. Импортируем numpy и mayavi, они нам понадобятся для примера:

import numpy as np
from mayavi import mlab

    Следующий важный шаг - это сконфигурировать Mayavi, передав информацию о том, что мы работаем с jupyter notebook. Для этого нужно вызвать функцию init_notebook(). При вызове без параметров по умолчанию будет выбран backend 'ipy', если хотите указать какой-нибудь другой, то передайте его имя в качестве аргумента:

mlab.init_notebook()

    После выполнения этой команды вы должны получить следующее сообщение:

...
Notebook initialized with x3d backend.

    В следующей ячейке введите код:

t = np.linspace(-5, 5, 100)
x = 3 * np.cos(t)
y = 3 * np.sin(t)
z = t / np.pi
s = mlab.plot3d(x, y, z, z, tube_radius=0.1)

    Далее выполните ячейку с переменной s:


Рис.1. Пример Mayavi в Jupyter Notebook

    Если вы используете 'ipy' или 'x3d' backend, то модель (изображение) будет интерактивной, её можно будет вращать, масштабировать и т.п.

    На следующем шаге мы подведем некоторые итоги.




Предыдущий шаг Содержание Следующий шаг