Как создать гистограммы и линейные диаграммы в R (ggplot2) одновременно - PullRequest
0 голосов
/ 09 мая 2018

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

Я пытаюсь создать график, на котором он показывает visit_frequency (гистограмма) на первичной оси Y и visit_duration_avg (линейный график) на вторичной оси Y, и на нем должна отображаться visit_sequence_number на оси X

library(ggplot2)

df<- data.frame(visit_sequence_number=c(1:5),
                visit_frequency=c(697754,416613,263433,178823,128599),
                visit_duration_avg=c(133,121,121,122,124))


ggplot(df)  + 
  geom_bar(aes(x=visit_sequence_number, y=visit_frequency),stat="identity",fill="tan1", colour="sienna3")+
  geom_line(aes(x=visit_sequence_number, y=visit_duration_avg*max(df$visit_frequency)),stat="identity")+
  geom_text(aes(label=visit_duration_avg, x=visit_sequence_number,
                y=visit_duration_avg*max(df$visit_frequency)), colour="black")+
  geom_text(aes(label=visit_frequency, x=visit_sequence_number, y=0.95*visit_frequency), colour="black")+
  scale_y_continuous(sec.axis = sec_axis(~./max(df$visit_frequency)))

1 Ответ

0 голосов
/ 09 мая 2018

Это невозможно с ggplot2. Пожалуйста, смотрите следующий ответ от создателя пакета (Хэдли Уикхем):

https://stackoverflow.com/a/3101876/8357864

...