Ящик с усами против скрипки-скрипки

Beginner

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

Введение

В этом руководстве вы узнаете, как создавать ящик с усами и скрипку-скрипку с использованием библиотеки Python Matplotlib. Ящики с усами и скрипки-скрипки используются для визуализации распределения данных.

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

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

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

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

Импортировать библиотеки

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

import matplotlib.pyplot as plt
import numpy as np

Генерировать данные

Мы сгенерируем некоторые случайные тестовые данные с использованием numpy.

np.random.seed(19680801)
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

Создать скрипку-скрипку

Мы создадим скрипку-скрипку с использованием метода violinplot(). Этот метод принимает несколько аргументов, таких как data, showmeans, showmedians и т.д.

fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))
axs[0].violinplot(all_data, showmeans=False, showmedians=True)
axs[0].set_title('Violin plot')

Создать ящик с усами

Мы создадим ящик с усами с использованием метода boxplot(). Этот метод принимает несколько аргументов, таких как data, labels, showmeans, notch и т.д.

axs[1].boxplot(all_data)
axs[1].set_title('Box plot')

Добавить сеточные линии и метки

Мы добавим горизонтальные сеточные линии, установим метки по оси x и оси y для графиков.

for ax in axs:
    ax.yaxis.grid(True)
    ax.set_xticks([y + 1 for y in range(len(all_data))], labels=['x1', 'x2', 'x3', 'x4'])
    ax.set_xlabel('Four separate samples')
    ax.set_ylabel('Observed values')

Показать графики

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

plt.show()

Резюме

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