Как установить разрывы оси в ggplot2 (с примерами)


Вы можете использовать следующий синтаксис, чтобы установить разрывы осей для осей Y и X в ggplot2 :

#set breaks on y-axis
scale_y_continuous(limits = c(0, 100), breaks = c(0, 50, 100))

#set breaks on y-axis
scale_x_continuous(limits = c(0, 10), breaks = c(0, 2, 4, 6, 8, 10))

В следующих примерах показано, как использовать этот синтаксис на практике со следующим фреймом данных:

#create data frame
df <- data.frame(x=c(1, 2, 4, 5, 7, 8, 9, 10),
 y=c(12, 17, 27, 39, 50, 57, 66, 80))

#view data frame
df

 x y
1 1 12
2 2 17
3 4 27
4 5 39
5 7 50
6 8 57
7 9 66
8 10 80

Пример 1: установка разрывов по оси Y

В следующем коде показано, как создать простую диаграмму рассеяния с помощью ggplot2:

library (ggplot2)

#create scatterplot of x vs. y
ggplot(df, aes(x=x, y=y)) +
 geom_point()

По умолчанию ось Y показывает разрывы на 20, 40, 60 и 80. Однако вместо этого мы можем использовать функцию scale_y_continuous() для отображения разрывов через каждые 10 значений:

#create scatterplot of x vs. y with custom breaks on y-axis
ggplot(df, aes(x=x, y=y)) +
 geom_point() +
 scale_y_continuous(limits = c(0, 100), breaks = seq(0, 100, 10)) 

Пример 2: установка разрывов по оси X

Мы можем использовать функцию scale_x_continuous() , чтобы установить разрывы по оси x:

#create scatterplot of x vs. y with custom breaks on x-axis
ggplot(df, aes(x=x, y=y)) +
 geom_point() +
 scale_x_continuous(limits = c(0, 10), breaks = c(0, 2, 4, 6, 8, 10)) 

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

Например, в следующем коде показано, как отобразить разрывы по оси X только при значениях 0, 7 и 10:

#create scatterplot of x vs. y with custom breaks on x-axis
ggplot(df, aes(x=x, y=y)) +
 geom_point() +
 scale_x_continuous(limits = c(0, 10), breaks = c(0, 7, 10)) 

Дополнительные ресурсы

В следующих руководствах показано, как выполнять другие распространенные операции в ggplot2:

Как создать логарифмическую шкалу в ggplot2
Как установить пределы оси в ggplot2
Как повернуть метки осей в ggplot2