Я комбинирую гистограмму с накоплением и линейный график.
Вот воспроизводимый код для кадров данных:
df1 <- data.frame(month = c("Okt 2017", "Okt 2017", "Okt 2017", "Nov 2017", "Nov 2017", "Nov 2017", "Dez 2017",
"Dez 2017", "Dez 2017", "Jan 2018", "Jan 2018", "Jan 2018", "Feb 2018", "Feb 2018", "Feb 2018",
"Mrz 2018", "Mrz 2018", "Mrz 2018"),
source = c("a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", "b", "c"),
value1 = c(sample (c(1000L:4000L),18, replace = FALSE))
)
df1$month <- as.yearmon(df1$month)
df1 <- arrange(df1, month)
Второй df:
df2 <- data.frame(month = c("Okt 2017", "Nov 2017", "Dez 2017", "Jan 2018", "Feb 2018", "Mrz 2018"),
value2 = c(sample (c(5000000L:6000000L),6, replace = FALSE))
)
df2$month <- as.yearmon(df2$month)
df2 <- arrange(df2, month)
и код для построения:
ggplot() +
geom_bar(data = df1, aes(month, value1*5000000/5000, fill = source), stat="identity", position = "stack") +
geom_point(data = df2, aes(month, value2), color = "blue")+
geom_line(data = df2, aes(month, value2), group = 1, color = "blue") +
labs(x = "month", y="value2 (line)") + scale_y_continuous(sec.axis = sec_axis(~.*5000/5000000, name = "value1 (bars)"),
labels= format_format(big.mark = ".", decimal.mark = ",", scientific = FALSE)) +
scale_x_yearmon(format = "%Y-%b", n = 6) +
scale_fill_manual(values= c("darkseagreen4","darkseagreen", "darkseagreen3", "darkseagreen2")) +
theme_light()
Несмотря на то, что у меня есть месяцы с октября по март, R обозначает сентябрь, а не декабрь.Кто-нибудь знает, что я здесь делаю не так?