Создание пользовательских цветов заливки для диаграмм "ящик с усами"

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

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

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

Введение

В этом руководстве вы узнаете, как создавать пользовательские цвета заливки для диаграмм "ящик с усами" с использованием Python Matplotlib. Диаграммы "ящик с усами" - это тип графика, используемый для отображения распределения набора данных. Они показывают медиану, квартили и выбросы набора данных. В этом руководстве мы будем использовать функцию boxplot() в Matplotlib для создания двух типов диаграмм "ящик с усами" (прямоугольные и с зазором) и заливать их пользовательскими цветами.

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

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

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

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

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

Начнем с импорта необходимых библиотек. В этом примере мы будем использовать библиотеки numpy и matplotlib.pyplot.

import matplotlib.pyplot as plt
import numpy as np

Создание случайных тестовых данных

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

np.random.seed(19680801)
all_data = [np.random.normal(0, std, size=100) for std in range(1, 4)]
labels = ['x1', 'x2', 'x3']

Создание прямоугольной диаграммы "ящик с усами"

Теперь мы создадим прямоугольную диаграмму "ящик с усами" с использованием функции boxplot() в Matplotlib. Мы установим параметр patch_artist в значение True, чтобы заполнить ящик цветом.

fig, ax1 = plt.subplots(figsize=(9, 4))
bplot1 = ax1.boxplot(all_data,
                     vert=True,  ## вертикальное выравнивание ящика
                     patch_artist=True,  ## заполнение цветом
                     labels=labels)  ## метки для оси x
ax1.set_title('Rectangular Box Plot')

Создание диаграммы "ящик с усами" с зазором

Теперь мы создадим диаграмму "ящик с усами" с зазором с использованием функции boxplot(). Мы установим параметр notch в значение True, чтобы создать диаграмму "ящик с усами" с зазором.

fig, ax2 = plt.subplots(figsize=(9, 4))
bplot2 = ax2.boxplot(all_data,
                     notch=True,  ## форма зазора
                     vert=True,  ## вертикальное выравнивание ящика
                     patch_artist=True,  ## заполнение цветом
                     labels=labels)  ## метки для оси x
ax2.set_title('Notched Box Plot')

Заполнение диаграмм "ящик с усами" пользовательскими цветами

Далее мы заполним диаграммы "ящик с усами" пользовательскими цветами. Мы создадим список цветов и используем цикл, чтобы заполнить каждый ящик разным цветом.

colors = ['pink', 'lightblue', 'lightgreen']
for bplot in (bplot1, bplot2):
    for patch, color in zip(bplot['boxes'], colors):
        patch.set_facecolor(color)

Добавление горизонтальных сеточных линий

Наконец, мы добавим горизонтальные сеточные линии к диаграммам "ящик с усами" с использованием функции yaxis.grid().

for ax in [ax1, ax2]:
    ax.yaxis.grid(True)
    ax.set_xlabel('Three Separate Samples')
    ax.set_ylabel('Observed Values')

plt.show()

Резюме

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