Шаг 17.
Язык Python. Визуализация данных. Библиотека Matplotlib. Основы работы с модулем pyplot. Работа с линейным графиком. Стиль линии графика

    На этом шаге мы рассмотрим способы задания стиля графика.

    Стиль линии графика задаётся через параметр linestyle, который может принимать значения из таблицы 1.

Таблица 1. Стили линии линейного графика
Значение параметра Описание
'-' или 'solid' Непрерывная линия
'--' или 'dashed' Штриховая линия
'-.' или 'dashdot' Штрихпунктирная линия
':' или 'dotted' Пунктирная линия
'None' или ' ' или '' Не отображать линию

    Стиль линии можно передать сразу после списков с координатами без указания, что это параметр linestyle:

  x = [1, 5, 10, 15, 20] 
  y = [1, 7, 3, 5, 11] 
  plt.plot(x, y, '--')

    Другой вариант - это воспользоваться функцией setp():

import matplotlib.pyplot as plt

x = [1, 5, 10, 15, 20]
y = [1, 7, 3, 5, 11]
line = plt.plot(x, y)
plt.setp(line, linestyle='--')
plt.show()
Архив с файлом можно взять здесь.

    Результаты в обоих случаях будут одинаковы, как на рисунке 1.


Рис.1. Результат работы приложения

    Для того, чтобы вывести несколько графиков на одном поле, необходимо передать соответствующие наборы значений в функцию plot().

    Построим несколько наборов данных и выведем их, задав различные стили линиям:

import matplotlib.pyplot as plt

x = [1, 5, 10, 15, 20]
y1 = [1, 7, 3, 5, 11]
y2 = [i * 1.2 + 1 for i in y1]
y3 = [i * 1.2 + 1 for i in y2]
y4 = [i * 1.2 + 1 for i in y3]
plt.plot(x, y1, '-', x, y2, '--', x, y3, '-.', x, y4, ':')
plt.show()
Архив с файлом можно взять здесь.


Рис.2. Результат работы приложения

    Тот же результат можно получить, вызвав plot() отдельно для каждого набора данных:

.   .   .   .   .
plt.plot(x, y1, '-')
plt.plot(x, y2, '--')
plt.plot(x, y3, '-.')
plt.plot(x, y4, ':')
.   .   .   .   .

    Если вы хотите представить графики изолированно друг от друга (каждый на своём поле), то используйте для этого функцию subplot() (этот вариант мы рассмотрим позднее).

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




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