На этом шаге мы рассмотрим назначение и примеры использования этой функции.
Функция contour_surf() похожа на рассмотренную ранее surf(), в отличие от неё она строит не поверхность, а контурные линии для каждого уровня высоты из переданного 2D-массива данных. Варианты вызова функции:
contour_surf(s, ...) contour_surf(x, y, s, ...) contour_surf(x, y, f, ...)
Параметры x, y, s, f являются позиционными, по назначению совпадают с аналогичными для surf(). Функция contour_surf() поддерживает параметры из общего набора (см. 162 шаг) и в дополнение к ним:
Будем работать с уже знакомым набором данных:
x, y = np.mgrid[-2:2:0.1, -2:2:0.1] z = 5 * np.cos(x * y) * np.sin(x * y)
Построим контурную поверхность:
mlab.contour_surf(x, y, z) mlab.show()
Приведем полный текст приложения:
import numpy as np from mayavi import mlab x, y = np.mgrid[-2:2:0.1, -2:2:0.1] z = 5 * np.cos(x * y) * np.sin(x * y) mlab.contour_surf(x, y, z) mlab.show()
Рис.1. Демонстрация работы функции contour_surf()
Увеличим количество отображаемых контуров с помощью параметра contours, поменяем палитру и зададим масштаб для оси z:
import numpy as np from mayavi import mlab x, y = np.mgrid[-2:2:0.1, -2:2:0.1] z = 5 * np.cos(x * y) * np.sin(x * y) mlab.contour_surf(z, colormap='autumn', contours=11, warp_scale=10) mlab.show()
Рис.2. Демонстрация работы с параметрами contours, colormap и warp_scale функции contour_surf()
На следующем шаге мы рассмотрим функцию mesh().