Мне нужно создать ggplot, представляющий собой столбцовый график, наложенный линейным графиком. Линейный график показывает средние значения, а столбчатый график показывает, как средние значения соотносятся с эталонными значениями. Мне удалось создать два отдельных графика в ggplot, но у меня возникли проблемы с их объединением.
Мой линейный сюжет выглядит так:
И создан с использованием этого кода:
benchMarkLine <- ggplot(UEQScores, aes(x=Scale, y=Score, group=1)) +
geom_line(size = 1.4, colour = "black") +
geom_point(size = 2.4, colour = "black") +
scale_y_continuous(name = "Score", breaks = seq(0, 2.5, 0.25), limits = c(0, 2.5)) +
scale_x_discrete(name = "Scale") +
ggtitle("Mean Scores") +
theme_bw() + # Set black and white theme +
theme(plot.title = element_text(hjust = 0.5, size=10), # Centre plot title
panel.grid.major = element_blank(), # Turn off major gridlines
panel.grid.minor = element_blank(), # Turn off minor gridlines
axis.title.x = element_text(size=10),
axis.text.x = element_text(angle=30, vjust=0.6),
axis.title.y = element_text(size=10))
benchMarkLine
Сюжет моей колонки выглядит так:
И был создан со следующим кодом:
benchmarkColPlot <- ggplot(benchmark_long, aes(x=factor(Scale, scaleLevels), y=value, fill=factor(cat, bmLevels))) +
geom_col(position="fill") +
scale_fill_manual(values = bmColours) +
scale_y_continuous(name = "Score", breaks = seq(-1.0, 1.0, 0.25), limits = c(-1, 1)) +
scale_x_discrete(name = "Scale") +
ggtitle("Benchmark Scores") +
theme_bw() + # Set black and white theme +
theme(plot.title = element_text(hjust = 0.5, size=10), # Centre plot title
panel.grid.major = element_blank(), # Turn off major gridlines
panel.grid.minor = element_blank(), # Turn off minor gridlines
axis.title.x = element_text(size=10),
axis.text.x = element_text(angle=30, vjust=0.6),
axis.title.y = element_text(size=10),
legend.title = element_blank())
benchmarkColPlot
Как я могу объединить эти два? Я попытался вставить geom_line(UEQScores, aes(x=Scale, y=Score, group=1)) +
выше geom_col(position="fill") +
в коде столбца, но я просто получаю следующую ошибку:
Error: `mapping` must be created by `aes()`
Как мне объединить эти два графика?
Хорошо, я отказался от этого - я только что создал диаграмму в Excel, поскольку мне кажется, что мне немного проще.