На этом шаге мы рассмотрим использование этой функции.
Функция points3d() отображает в виде специальных изображений (глифов) точки, координаты которых передаются через аргументы x, у и z. В дополнение к перечисленным на 162 шаге для функции points3d() доступны следующие параметры:
Рассмотрим на примерах работу с points3d(). Загрузим нужные библиотеки и создадим набор данных для экспериментов:
import numpy as np from mayavi import mlab t = np.linspace(0, 2 * np.pi, 15) x = 3 * np.cos(t) y = 3 * np.sin(t) z = 0 * t s = 2 * np.cos(t)
Визуализируем набор данных в виде сфер в 3D-пространстве:
mlab.points3d(x, y, z) mlab.show()
Вот полный текст приложения:
import numpy as np from mayavi import mlab t = np.linspace(0, 2 * np.pi, 15) x = 3 * np.cos(t) y = 3 * np.sin(t) z = 0 * t s = 2 * np.cos(t) mlab.points3d(x, y, z) mlab.show()
Рис.1. Демонстрация работы функции points3d()
Если передать массив s в качестве четвёртого параметра, то значения из него будут использоваться для определения цвета и размера глифов:
import numpy as np from mayavi import mlab t = np.linspace(0, 2 * np.pi, 15) x = 3 * np.cos(t) y = 3 * np.sin(t) z = 0 * t s = 2 * np.cos(t) mlab.points3d(x, y, z, s) mlab.show()
Рис.2. Демонстрация работы работы с параметром s функции points3d()
Вместо s можно использовать f:
import numpy as np from mayavi import mlab t = np.linspace(0, 2 * np.pi, 15) x = 3 * np.cos(t) y = 3 * np.sin(t) z = 0 * t f_attr = lambda x, y, z: np.array([2 * np.random.rand() for _ in range(len(x))]) mlab.points3d(x, y, z, f_attr) mlab.show()
Рис.3. Демонстрация работы работы с параметром f функции points3d()
На следующем шаге мы закончим изучение этого вопроса.