Matplotlib: средний уровень

Ящики с усами и скрипичные диаграммы

Сравнивайте разброс нескольких групп с помощью ax.boxplot и ax.violinplot.

Введение

Столбчатая диаграмма средних скрывает, насколько разбросаны значения. Ящик с усами показывает медиану, среднюю половину данных (ящик), обычный диапазон (усы) и выбросы в виде точек. Скрипичная диаграмма показывает всю форму каждой группы.

Каждый список в scores становится ящиком. Линия внутри ящика - медиана, ящик охватывает средние 50% оценок, а усы доходят до самых дальних значений, которые не являются выбросами. У класса B ящик гораздо меньше: его оценки близки друг к другу. set_xticks подписывает ящики, стоящие в x = 1, 2 и 3; ax.violinplot(scores) нарисовал бы те же группы в виде скрипок.

Интерактивный визуализатор

Переключайтесь между ящиком с усами и скрипичной диаграммой, покажите каждую оценку точкой и измените разброс класса C.

Запускаемый пример Matplotlib

Matplotlib
Запустить код →
main.py
import matplotlib.pyplot as plt
import numpy as np

rng = np.random.default_rng(5)
scores = [rng.normal(70, 8, 80), rng.normal(75, 4, 80), rng.normal(65, 12, 80)]

fig, ax = plt.subplots(figsize=(7, 4))
ax.boxplot(scores)
ax.set_xticks([1, 2, 3], ["Class A", "Class B", "Class C"])
ax.set_ylabel("Score")
ax.set_title("Test scores by class")
plt.show()
Получить кнопку запуска для этого примера График, который рисует этот код
Ящики с усами и скрипичные диаграммы