Я пытался получить гистограмму и линейный график в один график. Гистограмма показывает точное количество назначенного антибиотика (левая ось Y). Линейный график представляет собой процент использования этого антибиотика (правая ось). Пока что я объединил их вместе, переместил правую ось вправо, но правая ось Y использует тот же масштаб, что и левая. Масштабы гистограммы и линейного графика, конечно, очень сильно различаются.
Некоторая информация, прежде чем мой вопрос начнется:
- имя фрейма данных = Grafiek3
- n_fosfo = количество записей (используется для левой оси Y)
- Jaren = годы, количество и процент видны за год (используется для оси x)
- per_fos = процент (используется для правой оси Y), составляет примерно 11%
Код, который у меня есть сейчас:
ggplot(Grafiek3, aes(x = Jaren, y =n_fosfo)) + #samenvoegen
geom_bar(stat="identity", fill="#69b3a2" ) +
scale_x_continuous(labels = as.character(Grafiek3$Jaren), breaks = Grafiek3$Jaren) +
xlab ("Year") +
theme(plot.title = element_text(hjust = 0.5)) +
ggtitle("Increase fosfomycin prescriptions per year")+
geom_line(aes(x=Jaren, y=per_fos), color="black") +
geom_point(aes(x=Jaren, y=per_fos), shape=21, color="black", fill="#69b3a2", size=2) +
scale_y_continuous(
name = expression("Total amount of prescriptions"),
sec.axis = sec_axis(~., name = "Percentage")) +
theme(plot.title = element_text(hjust = 0.5)) +
ggtitle("Percentage of fosfomycin prescriptions per year")
Вывод выглядит следующим образом: Незавершенный график
Как видно, линейный график находится внизу, но должен выглядеть примерно так:
ggplot(Grafiek3, aes(x=Jaren, y =per_fos)) + #line graph
geom_line(color="grey") +
geom_point(shape=21, color="black", fill="#69b3a2", size=2) +
scale_x_continuous(labels = as.character(Grafiek3$Jaren), breaks = Grafiek3$Jaren) +
scale_y_continuous(position = "right") +
xlab ("Year") +
ylab ("Percentage") +
theme(plot.title = element_text(hjust = 0.5)) +
ggtitle("Percentage of fosfomycin prescriptions per year")
Изображение: Линейный график
Я видел, что изменение кода:
sec.axis = sec_axis(~., name = "Percentage"))
во что-то вроде этого:
sec.axis = sec_axis(~./42, name = "Percentage"))
Исправим, но, к сожалению, меняется только правая ось, а линейный график не двигается вместе с ней.
Итак, кто-нибудь знает, как я могу переместить линейный график (изображение) в гистограмму? Или как изменить правую ось, чтобы она использовала информацию переменной "per_fos"?
Сформированный набор данных, который может быть полезен:
years <- c(2013, 2014, 2015, 2016, 2017, 2018, 2019)
amount <- c(120, 150, 200, 170, 180, 240, 80)
percentage <- c(5.4, 5.9, 6.3, 7.1, 7.8, 8.4, 10.4)
df <- data.frame(years, amount, percentage)