Масштабирование оси Y ggplot2: как отображать значения в миллионах или тысячах в R

При визуализации данных с использованием ggplot2 в R часто необходимо масштабировать ось Y, чтобы сделать большие числа более читабельными. Это может быть особенно полезно при работе со значениями в миллионах (М) или тысячах (К). В этой статье мы рассмотрим несколько методов достижения такого эффекта масштабирования в ggplot2, сопровождая их примерами кода.

Метод 1: использование пакета scales
Пакет scalesпредоставляет несколько удобных функций для форматирования меток осей. Чтобы масштабировать ось Y до миллионов или тысяч, мы можем использовать функции comma, label_numberили dollarиз scalesпакет. Вот пример:

library(ggplot2)
library(scales)
# Generate data
df <- data.frame(x = c(1, 2, 3, 4, 5),
                 y = c(1000000, 2000000, 3000000, 4000000, 5000000))
# Create the plot
ggplot(df, aes(x, y)) +
  geom_point() +
  scale_y_continuous(labels = label_number(suffix = "M"))

Метод 2: масштабирование оси Y вручную.
Другой подход заключается в ручном разделении значений оси Y на коэффициент масштабирования и соответствующей корректировке меток оси. Вот пример:

# Generate data
df <- data.frame(x = c(1, 2, 3, 4, 5),
                 y = c(1000000, 2000000, 3000000, 4000000, 5000000))
# Define the scaling factor
scaling_factor <- 1000000
# Divide the y-axis values by the scaling factor
df$y_scaled <- df$y / scaling_factor
# Create the plot
ggplot(df, aes(x, y_scaled)) +
  geom_point() +
  scale_y_continuous(labels = function(x) paste0(x, "M"))

Метод 3: использование аргумента scalesв функциях ggplot
Некоторые функции ggplot2имеют scalesАргумент, который позволяет вам напрямую указать масштабирование оси Y. Например:

# Generate data
df <- data.frame(x = c(1, 2, 3, 4, 5),
                 y = c(1000000, 2000000, 3000000, 4000000, 5000000))
# Create the plot with scaled y-axis
ggplot(df, aes(x, y)) +
  geom_point() +
  coord_cartesian(ylim = c(0, 5), expand = FALSE) +
  scale_y_continuous(labels = scales::label_number(suffix = "M"))

Масштабирование оси Y в ggplot2 для отображения значений в миллионах или тысячах необходимо для создания визуально привлекательных и легко интерпретируемых визуализаций данных. В этой статье мы рассмотрели три различных метода достижения этого эффекта: использование пакета scales, ручное масштабирование значений по оси Y и использование аргумента scalesв . 15функций. Используя эти методы, вы можете повысить четкость визуализации при работе с большими числами.