График линии Matplotlib с точками данных

PythonPythonBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы научимся создавать линейный график с точками данных с использованием Matplotlib в Python. Мы будем использовать класс EventCollection в Matplotlib для отметки расположения точек данных по осям x и y для каждой кривой.

Советы по работе с ВМ

После запуска виртуальной машины нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импортируем необходимые библиотеки

Сначала нам нужно импортировать необходимые библиотеки. Мы будем использовать numpy для создания случайных данных, matplotlib.pyplot для создания графика и EventCollection из matplotlib.collections для отметки расположения точек данных.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import EventCollection

Создаем случайные данные

Мы создадим случайные данные для двух кривых с использованием функции numpy.random.random(). Мы сгенерируем два набора по 10 случайных чисел в диапазоне от 0 до 1 и сохраним их в массиве.

## create random data
xdata = np.random.random([2, 10])

Отсортируем данные

Для получения чистых кривых отсортируем данные с использованием метода sort().

## split the data into two parts
xdata1 = xdata[0, :]
xdata2 = xdata[1, :]
## sort the data so it makes clean curves
xdata1.sort()
xdata2.sort()

Создаем точки данных по оси y

Для каждой кривой создадим некоторые точки данных по оси y, выполнив некоторые математические операции над отсортированными точками данных по оси x.

## create some y data points
ydata1 = xdata1 ** 2
ydata2 = 1 - xdata2 ** 3

Создаем график

Мы создадим график с использованием функции matplotlib.pyplot.plot().

## plot the data
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.plot(xdata1, ydata1, color='tab:blue')
ax.plot(xdata2, ydata2, color='tab:orange')

Создаем события

Мы создадим события, отмечающие точки данных по осям x и y, с использованием функции EventCollection().

## create the events marking the x data points
xevents1 = EventCollection(xdata1, color='tab:blue', linelength=0.05)
xevents2 = EventCollection(xdata2, color='tab:orange', linelength=0.05)

## create the events marking the y data points
yevents1 = EventCollection(ydata1, color='tab:blue', linelength=0.05,
                           orientation='vertical')
yevents2 = EventCollection(ydata2, color='tab:orange', linelength=0.05,
                           orientation='vertical')

Добавляем события на график

Мы добавим события на график с использованием функции matplotlib.pyplot.add_collection().

## add the events to the axis
ax.add_collection(xevents1)
ax.add_collection(xevents2)
ax.add_collection(yevents1)
ax.add_collection(yevents2)

Задаем пределы и добавляем заголовок

Мы зададим пределы по осям x и y и добавим заголовок к графику с использованием функций matplotlib.pyplot.xlim(), matplotlib.pyplot.ylim() и matplotlib.pyplot.title().

## set the limits
ax.set_xlim([0, 1])
ax.set_ylim([0, 1])
ax.set_title('line plot with data points')

Отображаем график

Наконец, мы отобразим график с использованием функции matplotlib.pyplot.show().

## display the plot
plt.show()

Резюме

В этом практическом занятии мы узнали, как создавать линейный график с точками данных с использованием Matplotlib в Python. Мы использовали класс EventCollection в Matplotlib для отметки расположения точек данных по осям x и y для каждой кривой на соответствующих осях.