Шаг 46.
Язык Python. Визуализация данных. Библиотека Matplotlib. Визуализация данных. Линейный график. Настройка маркировки графиков

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

    На 44 шаге мы приводили пример работы с маркерами при отображении графиков. Сделаем это ещё раз, но уже в упрощённом виде:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7]
y = [7, 6, 5, 4, 5, 6, 7]
plt.plot(x, y, marker='o', c='g')

plt.show()
Архив с файлом можно взять здесь.

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


Рис.1. График с маркировкой

    Создадим набор данных:

import numpy as np 

x = np.arange(0.0, 5, 0.01) 
у = np.cos(x * np.pi)

    Количество точек в нем равно 500, поэтому представленный выше подход не применим: произойдёт наложение точек:

plt.plot(x, y, marker='o', c='g')
Архив с файлом можно взять здесь.

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


Рис.2. График с большим количеством маркеров

    В этом случае нужно задать интервал отображения маркеров, для этого используется параметр markevery, который может принимать одно из следующих значений:

    Ниже представлен пример, демонстрирующий работу с markevery:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0.0, 5, 0.01)
y = np.cos(x * np.pi)
m_ev_case = [None, 10, (100, 30), slice(100, 400, 15),
             [0, 100, 200, 300], [10, 50, 100]]
fig, ax = plt.subplots(2, 3, figsize=(10, 7))
axs = [ax[i, j] for i in range(2) for j in range(3)]
for i, case in enumerate(m_ev_case):
    axs[i].set_title(str(case))
    axs[i].plot(x, y, 'o', ls='-', ms=7, markevery=case)

plt.show()
Архив с файлом можно взять здесь.

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


Рис.3. Различные варианты маркировки

    На следующем шаге мы рассмотрим обрезку графика.




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