Как джиттерировать точки в ggplot2 (с примерами)
При создании диаграммы рассеяния может быть полезно покачивать точки, чтобы было легче увидеть точки, которые могут перекрываться.
Самый простой способ дрожания точек в ggplot2 — использовать geom_jitter() , который использует следующий базовый синтаксис:
ggplot(df, aes(x=x, y=y)) +
geom_jitter()
В следующих примерах показано, как на практике использовать функцию geom_jitter() со следующим фреймом данных в R:
#create data frame
df <- data. frame (x=c(4, 4, 4, 4, 6, 6, 6, 6, 8, 8, 8, 8),
y=c(3, 3, 3, 3, 7, 7, 7, 7, 9, 9, 9, 9))
#view data frame
df
xy
1 4 3
2 4 3
3 4 3
4 4 3
5 6 7
6 6 7
7 6 7
8 6 7
9 8 9
10 8 9
11 8 9
12 8 9
Пример 1. Создание облака точек без дрожания
Следующий код показывает, как создать диаграмму рассеяния в ggplot2 без использования джиттера:
library (ggplot2)
#create scatterplot
ggplot(df, aes(x=x, y=y)) +
geom_point()
Исходная база данных содержит 12 наблюдений, но, поскольку некоторые из них имеют одинаковые значения x и y, на диаграмме рассеяния оказывается только 3 наблюдения.
Пример 2. Создание облака точек с джиттером по умолчанию
Следующий код показывает, как создать диаграмму рассеяния в ggplot2 с настройками по умолчанию в geom_jitter() :
library (ggplot2)
#create scatter plot with jittered points
ggplot(df, aes(x=x, y=y)) +
geom_jitter()
Обратите внимание, что каждое из 12 наблюдений теперь видно в облаке точек, поскольку мы использовали geom_jitter() для добавления случайного шума как к ширине, так и к высоте каждой точки.
Пример 3. Создание облака точек с пользовательским джиттером
Следующий код показывает, как создать диаграмму рассеяния в ggplot2 с пользовательскими значениями аргументов ширины и высоты в geom_jitter() :
library (ggplot2)
#create scatter plot with jittered points
ggplot(df, aes(x=x, y=y)) +
geom_jitter(width= 0.2 , height= 0.2 )
Обратите внимание, что точки нестабильны, но разбросаны гораздо меньше, чем в предыдущем примере.
Чем меньшие значения вы используете для аргументов ширины и высоты в geom_jitter() , тем дальше точки будут от своих исходных позиций.
Не стесняйтесь экспериментировать с аргументами ширины и высоты , чтобы точки тряслись так, как вы хотите.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные операции в ggplot2:
Как изменить форму точки в ggplot2
Как изменить заголовок легенды в ggplot2
Как повернуть метки осей в ggplot2
Как исправить в R: Невозможно найти функцию «ggplot»