Как создать контурный график в matplotlib


Контурный график — это тип графика, который позволяет нам визуализировать трехмерные данные в двух измерениях с помощью контуров.

Вы можете создать контурный график в Matplotlib, используя следующие две функции:

Следующие примеры показывают, как использовать эти две функции на практике.

Пример 1: Контурный график в Matplotlib

Предположим, у нас есть следующие данные в Python:

 import numpy as np

x = np.linspace(0, 5, 50)
y = np.linspace(0, 5, 40)

X, Y = np.meshgrid(x, y)
Z = np.sin(X*2+Y)*3 + np.cos(Y+5)

Мы можем использовать следующий код для создания контурного графика данных:

 import matplotlib.pyplot as plt

plt. outline (X, Y, Z, colors=' black ')

Контурная карта в matplotlib

Когда для графика используется только один цвет, пунктирные линии представляют отрицательные значения, а сплошные линии — положительные значения.

Альтернативой является указание цветовой карты с помощью аргумента cmap . Мы также можем указать больше линий для использования на графике с помощью аргумента уровней :

 plt. contour (X, Y, Z, levels= 30 , cmap=' Reds ') 

Контурная карта Matplotlib с cmap

Мы решили использовать cmap «Reds», но вы можете найти полный список параметров цветовой палитры на странице документации Matplotlib .

Пример 2: Заполненный контурный график в Matplotlib

Заполненный контурный контур аналогичен контурному контуру, за исключением того, что пробелы между линиями заполнены.

В следующем коде показано, как использовать функцию контурф() для создания контурного графика с заливкой для тех же данных, которые использовались в предыдущем примере:

 plt. contourf (X, Y, Z, cmap=' Reds ') 

Заполненный контурный график в Matplotlib

Мы также можем использовать функцию colorbar() , чтобы добавить цветную полосу с надписью рядом с графиком:

 plt. contourf (X, Y, Z, cmap=' Reds ')
plt. colorbar () 

Контурная карта с цветовой полосой в Matplotlib

Дополнительные руководства по Matplotlib вы можете найти здесь .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *