Сделать диаграмму ggplot с более чем одним значением y - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть датафрейм, который имеет 2 строки и 3 столбца. Я хочу иметь возможность составить график всех трех столбцов, и это, вероятно, будет наиболее целесообразно для диаграммы geom_col или geom_bar. Ось x останется одинаковой для обоих графиков.

В кадре данных есть столбцы a1, b1, b2

Я использовал этот шаблон для создания одного графика. Надеюсь, что это количество деталей полезно.

Datafame %>% 
  ggplot(aes(x = a1, y = b1, fill = b1)) +
geom_col(position = "dodge", show.legend = FALSE) +
  theme(axis.text.x = element_text(angle = 90)) +
geom_text(aes(label = b1), hjust = -.5, vjust = -.5, size = 3.5) +
  expand_limits(x = 2, y = .35) +
  coord_flip()

1 Ответ

1 голос
/ 22 апреля 2020

вы можете сделать это с помощью ggplot, если добавите отдельные 'aes ()' asthetics к разным гемам.

library(ggplot2)

df<-data.frame(a1 = c(1:10), b1 = rnorm(10,5), b2= rnorm(10, 3), b3= rnorm(10, 1))

ggplot(df)+
  geom_line(aes(x = a1,  y = b1 ))+
  geom_point(aes(x = a1, y = b2, color = "red" ))+ 
  geom_col(aes(x = a1, y = b3 ))

См. Три разных гема под одним Xaxis (x = a1 ):

enter image description here

Добавление ценного комментария Dave2e

если вы хотите иметь несколько geom_cols, вам придется преобразовать ваши данные от первого к длинному формату.

library(tidyr)
df %>% pivot_longer(b1:b4) %>% ggplot() +
  geom_col(aes(x= a1, y=value, fill= name ), position = "dodge")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...