#r #ggplot2 #bar-chart
#r #ggplot2 #Гистограмма
Вопрос:
Как я могу наложить метку и центрировать ее по всей линейке, как показано на рисунке выше?
Вот что я пробовал:
ggplot(my_NYC_Crimes, aes(x=Year, y=Crime.total))
geom_bar(stat = "identity", fill= "#b43a74")
scale_y_continuous(labels = scales::comma) theme_minimal()
theme(axis.title.x = element_blank()) theme(axis.title.y = element_blank())
theme_void() geom_text(aes(label = "Major felonies"), position =
position_stack(0.5), color = "white")[enter image description here][1]
Комментарии:
1. Изображение не видно.
2. Спасибо, Аллан. Эта строка кода, которую вы включили в свой пример, была ключом к получению нужного мне результата: geom_label(label = «Серьезные уголовные преступления», x = 2010, y = 7500, size = 10, color = «white», fill = «#b33877», label.size = 0) Еще раз спасибо, Баскервиль
Ответ №1:
Всегда сложнее ответить на такого рода вопросы без исходных данных (или их образца). Однако, предполагая, что ваши данные выглядят примерно так:
my_NYC_Crimes <- data.frame(Year = 2001:2019,
Crime.total = c(seq(32, 20, -1.1), 21, 23, 25, 23, 21, 20, 18, 17) * 1000)
Тогда главное — понять, что вы не хотите geom_label
, чтобы она отображалась в позиционной эстетике. Вы можете добавить ее, просто указав позиции x, y, не заключая их в aes
вызов:
ggplot(my_NYC_Crimes, aes(x = Year, y = Crime.total))
geom_col(fill= "#b33877")
scale_y_continuous(breaks = 1:3 * 10000)
geom_label(label = "Major felonies", x = 2010, y = 7500, size = 10,
color = "white", fill = "#b33877", label.size = 0)
theme_void()
theme(panel.grid.major.y = element_line())