BarGraph с первичной и вторичной осью в r

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

geom_bar(data=top_ten_S, aes(x=Combination, y=AvgTopline), stat="identity",fill="red") +
  coord_flip() +
  geom_text(
    data=top_ten_S,
    aes(
      x=Combination, y=AvgTopline,
      label=paste0("R",round(AvgTopline,0)),
      hjust=ifelse(AvgTopline < max(top_ten_S$AvgTopline) / 1.5, -0.1, 1.1), # <- Here lies the magic
    ),
  ) 

мой DF выглядит как

top_ten_S <- data.frame(Combination = c("a", "b", "c"),
                    Nrcustomers = c(20, 200, 1900),
                    AvgTopline = c(1000,3000,1500))

Я могу построить только один столбец с указанным выше кодом - я хотел бы создать вторичные оси, чтобы я мог построить Комбинацию против NrCustomers и AvgTopline в

Всего 1 ответ


Способ 1

top_ten_S %>% 
  gather(key, value, -Combination) %>% 
  ggplot(aes(x = Combination, y = value, fill = key)) +
  geom_bar(stat = "identity", position = "dodge") +
  labs(fill = "")

Способ 2

top_ten_S %>% 
  gather(key, value, -Combination) %>% 
  ggplot(aes(x = Combination, y = value, fill = key)) +
  geom_bar(stat = "identity", position = "dodge", show.legend = FALSE) +
  facet_grid(. ~ key)

Редактировать: метод 2

top_ten_S %>% 
  gather(key, value, -Combination) %>% 
  ggplot(aes(x = Combination, y = value, fill = key)) +
  geom_bar(stat = "identity", position = "dodge", show.legend = FALSE) +
  facet_grid(. ~ key, space = "free_y", scales = "free_y") +
  theme(axis.text.x = element_text(angle = 60))

Есть идеи?

10000