Я искал не только stackoverflow, но и многие другие сайты. К сожалению, мне пока не удалось найти никакой помощи. Я собираюсь объяснить свою проблему так явно, как я могу. Поскольку это мой первый вопрос здесь, в stackoverflow, будьте осторожны, я новичок в R. Моя цель — вручную добавить легенду к моему уже созданному объекту ggplot2.
Это набор данных, с которым я работаю:
structure(list(Values = 0:5, Count = c(213L, 128L, 37L, 18L,
3L, 1L), rel_freq = c(0.5325, 0.32, 0.0925, 0.045, 0.0075, 0.0025
), pois_distr = c(0.505352031744286, 0.344902761665475, 0.117698067418343,
0.0267763103376731, 0.00456870795136548, 0.000623628635361388
)), class = "data.frame", row.names = c(NA, -6L))
который выглядит как
Values Count rel_freq pois_distr
1 0 213 0.5325 0.5053520317
2 1 128 0.3200 0.3449027617
3 2 37 0.0925 0.1176980674
4 3 18 0.0450 0.0267763103
5 4 3 0.0075 0.0045687080
6 5 1 0.0025 0.0006236286
Затем мне уже удалось создать ggplot, который в порядке, и код:
cols <- c('Beob. Häufigkeiten' = 'lightblue', 'Theor. Häufigkeiten' = 'darkblue')
plot_yeast1 <- ggplot(data.frame(data1_plot), aes(x=Values)) +
geom_col(aes(y=rel_freq, fill = 'Beob. Häufigkeiten'), col = 'lightblue4', alpha = 0.8) +
geom_point(aes(y=pois_distr, colour = 'Theor. Häufigkeiten'), alpha = 0.9, size = 4) +
scale_fill_manual(name = 'Legende', values = cols) +
scale_colour_manual(name ='Legende', values = cols) +
scale_y_continuous(breaks = seq(0, 0.6, 0.05)) +
labs(title = 'Gegenüberstellung der beobachteten Häufigkeiten mit den theoretischen \nHäufigkeiten aus dem geschätzten Poissonmodell', x = 'Auftretende Fehler von Hefezellen', y = 'Relative Häufigkeit', subtitle = 'Konzentration 1') +
theme_bw()
plot_yeast1
и вывод:
Моя цель — объединить обе вручную созданные легенды в правой части графика в одну. Я уже пробовал пропускать второй заголовок легенды, тогда похоже
.
Но широкое пространство некрасиво, и должна быть возможность слить эти две легенды в одну, где две записи расположены близко друг к другу. Я уже провел на нем более 9 часов и перерыл множество постов, которые не решили мою проблему. Если что-то неясно, пожалуйста, дайте мне знать. Как я уже писал, первый раз задаю вопрос. Спасибо