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