Как джиттерировать точки в 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() 

джиттер ggplot2

Обратите внимание, что каждое из 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»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *