Реализация данных из нескольких фреймов данных в одном пузырьковом графике - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть фрейм данных с размерами 625616 x 12. Я хотел бы проиллюстрировать данные с помощью пузырькового графика. Чтобы проиллюстрировать мою ситуацию, я буду использовать набор данных mtcars.

mtcars$cyl = as.factor(mtcars$cyl)
bp = ggplot(as.data.frame(mtcars), aes(x = wt, y = mpg, size = qsec)) + geom_point(shape = 21)
bp

Аналогично моему фрейму данных, я использовал с этой командой данные из 3 из 12 столбцов. В идеале я хотел бы добавить к этому пузырьковому графику еще один набор пузырьков другого цвета (столбец 4-6).

Я пытался использовать функцию «добавить».

bp2 = ggplot(as.data.frame(mtcars), aes(x = wt2, y = mpg2, size = qsec2)) + geom_point(shape = 21)
plot(bp2, add = T)

К сожалению, это тоже не сработает.

1 Ответ

0 голосов
/ 28 апреля 2019

Если у вас разные переменные x, y и size в одном и том же наборе данных, вы можете определить их в эстетике для каждого geom_point

df <- data.frame(x1 = rnorm(20), y1 = rnorm(20),
             x2 = rnorm(20), y2 = rnorm(20),
             z1 =  rnorm(20), z2 = rnorm(20))

ggplot(df) +
   geom_point(aes(x = x1, y = y1, size = z1), col = "red") + 
   geom_point(aes(x = x2, y = y2, size = z2), col = "blue")

enter image description here

Если у вас есть два разных набора данных, вы можете определить это и в geoms:

ggplot() +
  geom_point(aes(x = x1, y = y1, size = z1), col = "red", data = df1) + 
  geom_point(aes(x = x2, y = y2, size = z2), col = "blue",data = df2)

Редактировать на основе вашего комментария: вы можете изменить общий размер очков, например, используя scale_size_continuous(range = c(0, 10)) и меняя 10 на другое значение.

...