Как построить коробчатую диаграмму (Box Plot) в Excel, Python и R: Полное руководство

Как построить коробчатую диаграмму (Box Plot) в Excel, Python и R: Полное руководство

Коробчатая диаграмма, также известная как «ящик с усами» (box plot или box-and-whisker plot), – это мощный инструмент визуализации, который позволяет быстро оценить распределение данных, выявить выбросы и сравнить различные наборы данных. Она особенно полезна, когда нужно увидеть общую картину и получить представление о ключевых статистических показателях, таких как медиана, квартили и разброс данных. В этой статье мы подробно рассмотрим, как построить коробчатую диаграмму с использованием различных инструментов: Microsoft Excel, Python (с библиотеками Matplotlib и Seaborn) и R. Мы предоставим пошаговые инструкции и примеры кода, чтобы вы могли легко освоить этот важный метод анализа данных.

Что такое коробчатая диаграмма?

Прежде чем перейти к практическим примерам, давайте разберемся, что именно показывает коробчатая диаграмма. Она состоит из следующих элементов:

* **Ящик (Box):** Ограничен первым квартилем (Q1) и третьим квартилем (Q3). Таким образом, ящик содержит 50% данных, расположенных в середине распределения.
* **Медиана (Median):** Отображается линией внутри ящика. Медиана делит данные на две равные части, показывая центральное значение.
* **Усы (Whiskers):** Линии, простирающиеся от ящика до наименьшего и наибольшего значений в пределах определенного диапазона. Обычно усы простираются до 1.5 * IQR (Interquartile Range) от Q1 и Q3. IQR – это разница между Q3 и Q1.
* **Выбросы (Outliers):** Точки, расположенные за пределами усов. Выбросы считаются аномальными значениями, значительно отличающимися от остальной части данных.

Коробчатая диаграмма позволяет:

* Определить центральную тенденцию данных (медиану).
* Оценить разброс данных (IQR, диапазон).
* Выявить симметричность или асимметрию распределения.
* Обнаружить выбросы.
* Сравнить распределения различных наборов данных.

Построение коробчатой диаграммы в Excel

Excel – это удобный инструмент для создания простых коробчатых диаграмм. Хотя Excel не предлагает встроенную функцию для построения box plot до версии 2016, существуют обходные пути. Начиная с версии Excel 2016, диаграмма “ящик с усами” доступна как стандартный тип диаграммы.

Шаг 1: Подготовка данных

Предположим, у вас есть следующий набор данных, представляющий, например, результаты тестов для двух групп студентов:

| Группа A | Группа B |
|—|—|
| 75 | 82 |
| 80 | 88 |
| 68 | 75 |
| 92 | 95 |
| 85 | 80 |
| 78 | 85 |
| 90 | 92 |
| 72 | 78 |
| 88 | 86 |
| 82 | 90 |

Скопируйте эти данные в Excel.

Шаг 2: Вставка коробчатой диаграммы (Excel 2016+)

1. Выделите данные, которые хотите визуализировать.
2. Перейдите на вкладку **Вставка** (Insert) на ленте.
3. В группе **Диаграммы** (Charts) нажмите на значок **Статистическая диаграмма** (Statistical Chart) (иногда отображается как гистограмма с маленькими символами).
4. Выберите **Ящик с усами** (Box and Whisker). Excel автоматически создаст коробчатую диаграмму на основе ваших данных.

Шаг 3: Настройка диаграммы

После создания диаграммы вы можете настроить ее внешний вид и добавить необходимую информацию:

* **Заголовок диаграммы:** Дважды щелкните по заголовку диаграммы, чтобы изменить его на более информативный, например, “Сравнение результатов тестов для Группы A и Группы B”.
* **Подписи осей:** Щелкните по осям, чтобы добавить подписи, например, “Группа” для горизонтальной оси и “Результат теста” для вертикальной оси.
* **Цвета и стили:** Используйте вкладку **Формат** (Format) на ленте, чтобы изменить цвета, шрифты и другие стили диаграммы.
* **Параметры диаграммы:** Щелкните правой кнопкой мыши на диаграмме и выберите **Формат области диаграммы** (Format Chart Area), чтобы получить доступ к дополнительным параметрам, таким как отображение средних значений, включение/выключение отображения выбросов и изменение алгоритма расчета квартилей.

Шаг 4: Интерпретация диаграммы

Внимательно изучите созданную коробчатую диаграмму. Обратите внимание на следующие моменты:

* **Медиана:** Показывает центральное значение для каждой группы. Сравните медианы, чтобы оценить, какая группа в среднем показала лучшие результаты.
* **Размер ящика:** Указывает на разброс данных в каждой группе. Более широкий ящик означает больший разброс.
* **Длина усов:** Показывает диапазон данных без учета выбросов. Сравните длину усов, чтобы оценить, насколько данные распределены за пределами среднего диапазона.
* **Выбросы:** Указывают на аномальные значения. Проанализируйте выбросы, чтобы понять, почему эти значения так сильно отличаются от остальных.

Построение коробчатой диаграммы в Python

Python предоставляет мощные библиотеки для визуализации данных, такие как Matplotlib и Seaborn. Мы рассмотрим оба варианта.

Использование Matplotlib

Matplotlib – это базовая библиотека для построения графиков в Python. Она предоставляет широкий набор инструментов для создания различных типов визуализаций, включая коробчатые диаграммы.

#### Шаг 1: Установка Matplotlib

Если у вас еще не установлена Matplotlib, установите ее с помощью pip:

bash
pip install matplotlib

#### Шаг 2: Импорт Matplotlib и NumPy

NumPy – это библиотека для работы с массивами данных. Нам понадобится NumPy для создания набора данных.

python
import matplotlib.pyplot as plt
import numpy as np

#### Шаг 3: Создание данных

Создадим случайные данные для примера:

python
data_a = np.random.normal(80, 5, 20) # Среднее 80, стандартное отклонение 5, 20 значений
data_b = np.random.normal(85, 7, 20) # Среднее 85, стандартное отклонение 7, 20 значений
data = [data_a, data_b]

#### Шаг 4: Построение коробчатой диаграммы

Используйте функцию `boxplot()` для создания коробчатой диаграммы:

python
fig, ax = plt.subplots()
ax.boxplot(data)

# Настройка осей и заголовка
ax.set_xticklabels([‘Группа A’, ‘Группа B’])
ax.set_ylabel(‘Результат теста’)
ax.set_title(‘Сравнение результатов тестов (Matplotlib)’)

plt.show()

#### Шаг 5: Настройка внешнего вида (необязательно)

Вы можете настроить внешний вид диаграммы, например, изменить цвета, добавить сетку и т.д.:

python
fig, ax = plt.subplots()
ax.boxplot(data, patch_artist=True, boxprops=dict(facecolor=”lightblue”), whiskerprops=dict(color=”red”)) # Заливка ящиков, изменение цвета усов
ax.set_xticklabels([‘Группа A’, ‘Группа B’])
ax.set_ylabel(‘Результат теста’)
ax.set_title(‘Сравнение результатов тестов (Matplotlib)’)
ax.grid(True)

plt.show()

Использование Seaborn

Seaborn – это библиотека, построенная на основе Matplotlib, которая предоставляет более высокий уровень абстракции и позволяет создавать более красивые и информативные графики с меньшим количеством кода. Seaborn особенно хорошо подходит для статистической визуализации.

#### Шаг 1: Установка Seaborn

Установите Seaborn с помощью pip:

bash
pip install seaborn

#### Шаг 2: Импорт Seaborn, Matplotlib и Pandas

Pandas – это библиотека для работы с табличными данными (DataFrame). Seaborn часто используется вместе с Pandas.

python
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

#### Шаг 3: Создание данных (использование Pandas DataFrame)

Создадим данные в формате Pandas DataFrame:

python
data_a = np.random.normal(80, 5, 20)
data_b = np.random.normal(85, 7, 20)

df_a = pd.DataFrame({‘Группа’: ‘A’, ‘Результат’: data_a})
df_b = pd.DataFrame({‘Группа’: ‘B’, ‘Результат’: data_b})
df = pd.concat([df_a, df_b])

#### Шаг 4: Построение коробчатой диаграммы

Используйте функцию `boxplot()` из Seaborn:

python
sns.boxplot(x=’Группа’, y=’Результат’, data=df)
plt.title(‘Сравнение результатов тестов (Seaborn)’)
plt.show()

#### Шаг 5: Настройка внешнего вида (необязательно)

Seaborn позволяет легко настраивать внешний вид диаграммы:

python
sns.boxplot(x=’Группа’, y=’Результат’, data=df, palette=’pastel’) # Изменение цветовой палитры
plt.title(‘Сравнение результатов тестов (Seaborn)’)
sns.despine(left=True) # Удаление левой границы графика
plt.show()

Построение коробчатой диаграммы в R

R – это мощный язык программирования, широко используемый для статистического анализа и визуализации данных. Он предлагает множество пакетов для создания коробчатых диаграмм.

Шаг 1: Установка R и RStudio

Если у вас еще не установлены R и RStudio, скачайте и установите их с официальных сайтов:

* R: [https://www.r-project.org/](https://www.r-project.org/)
* RStudio: [https://www.rstudio.com/](https://www.rstudio.com/)

RStudio – это интегрированная среда разработки (IDE) для R, которая значительно упрощает написание и выполнение кода.

Шаг 2: Создание данных

Создадим данные для примера:

R
data_a <- rnorm(20, mean = 80, sd = 5) # Среднее 80, стандартное отклонение 5, 20 значений data_b <- rnorm(20, mean = 85, sd = 7) # Среднее 85, стандартное отклонение 7, 20 значений data <- data.frame(Группа = c(rep("A", 20), rep("B", 20)), Результат = c(data_a, data_b)) Здесь мы используем функцию `rnorm()` для генерации случайных чисел с нормальным распределением и функцию `data.frame()` для создания таблицы данных.

Шаг 3: Построение коробчатой диаграммы

Используйте функцию `boxplot()` для создания коробчатой диаграммы:

R
boxplot(Результат ~ Группа, data = data, main = “Сравнение результатов тестов (R)”, ylab = “Результат теста”, xlab = “Группа”)

* `Результат ~ Группа`: Указывает, что мы хотим построить коробчатую диаграмму для переменной `Результат` по группам, указанным в переменной `Группа`.
* `data = data`: Указывает, что данные находятся в таблице `data`.
* `main`, `ylab`, `xlab`: Задают заголовок диаграммы и подписи осей.

Шаг 4: Настройка внешнего вида (необязательно)

R предоставляет широкие возможности для настройки внешнего вида графиков. Например, вы можете изменить цвета, добавить сетку и т.д.:

R
boxplot(Результат ~ Группа, data = data, main = “Сравнение результатов тестов (R)”, ylab = “Результат теста”, xlab = “Группа”, col = c(“lightblue”, “lightgreen”), border = “blue”, boxwex = 0.5) # Изменение цветов, толщины ящиков, цвета границ
grid()

Здесь мы использовали аргументы `col` для изменения цветов ящиков, `border` для изменения цвета границ и `boxwex` для изменения ширины ящиков. Функция `grid()` добавляет сетку на график.

Использование пакета ggplot2

`ggplot2` – это популярный пакет для создания декларативной графики в R. Он предоставляет более гибкий и элегантный способ построения графиков, чем базовая функция `boxplot()`.

#### Шаг 1: Установка ggplot2

Если у вас еще не установлен `ggplot2`, установите его с помощью следующей команды:

R
install.packages(“ggplot2”)

#### Шаг 2: Загрузка ggplot2

Загрузите пакет `ggplot2`:

R
library(ggplot2)

#### Шаг 3: Построение коробчатой диаграммы

Используйте функцию `ggplot()` и `geom_boxplot()` для создания коробчатой диаграммы:

R
ggplot(data, aes(x = Группа, y = Результат)) + geom_boxplot() + labs(title = “Сравнение результатов тестов (ggplot2)”, y = “Результат теста”, x = “Группа”)

* `ggplot(data, aes(x = Группа, y = Результат))`: Создает объект графика и указывает, какие переменные использовать для осей x и y.
* `geom_boxplot()`: Добавляет слой коробчатой диаграммы.
* `labs()`: Задает заголовок диаграммы и подписи осей.

#### Шаг 4: Настройка внешнего вида (необязательно)

`ggplot2` позволяет легко настраивать внешний вид диаграммы с помощью различных тем и параметров:

R
ggplot(data, aes(x = Группа, y = Результат, fill = Группа)) + geom_boxplot() + labs(title = “Сравнение результатов тестов (ggplot2)”, y = “Результат теста”, x = “Группа”) + theme_bw() + scale_fill_brewer(palette = “Pastel1”) # Добавление заливки, изменение темы, выбор цветовой палитры

Здесь мы использовали аргумент `fill` в `aes()` для добавления заливки к ящикам на основе группы, функцию `theme_bw()` для применения черно-белой темы и функцию `scale_fill_brewer()` для выбора цветовой палитры.

Заключение

Коробчатая диаграмма – это ценный инструмент для визуализации и анализа данных. В этой статье мы рассмотрели, как построить коробчатую диаграмму в Excel, Python (с использованием Matplotlib и Seaborn) и R (с использованием базовой функции `boxplot()` и пакета `ggplot2`). Выбор инструмента зависит от ваших предпочтений и требований проекта. Excel – хороший вариант для быстрого создания простых диаграмм. Python и R предоставляют более широкие возможности для настройки и анализа данных, особенно при работе с большими наборами данных. Экспериментируйте с различными инструментами и параметрами, чтобы найти наиболее подходящий способ визуализации ваших данных и получения ценных выводов.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments