#r #ggplot2 #bar-chart
#r #ggplot2 #гистограмма
Вопрос:
Я знаю, что есть и другие подобные вопросы. Тем не менее, это немного двоякий элемент.
Итак, я использую следующий код, чтобы расположить свою горизонтальную гистограмму в порядке убывания годовой разницы, A. Сначала это выборка данных, а затем создание фрейма данных.
A<- c(150,125,0,-300,-350,-370)
Series<- c("Construction","Manufacturing","Information","Health_Care","Education","Government")
testdf <- data.frame(A,Series)
jobgrowth<-ggplot(data=testdf,mapping=aes(x=A,y=Series))
geom_col(color="blue") aes(x = reorder(Series,A),A) coord_flip()
Проблема в том, что моя метка по оси y отображается как «изменить порядок (серия, A)». Я добавил второй сегмент aes как попытку упорядочить их по убыванию (наибольшее число вверху). До этого он размещал их в случайном (насколько я могу судить) порядке. Как мне заставить метку оси y ничего не показывать? Во-вторых, если бы я хотел, чтобы заголовок был прямо над диаграммой, каков метод для этого?
Ответ №1:
Нет необходимости вызывать aes
дважды, вы можете reorder
в вызове ggplot
. Оттуда вы можете использовать labs
with x = NULL
, чтобы избавиться от метки оси x и ggtitle
добавить заголовок. Вы можете вызвать theme
, чтобы переместить заголовок точно в центр. Если вы предпочитаете, чтобы он был центрирован по области графика, удалите plot.title.position
линию.
ggplot(data=testdf, aes(y=A, x = reorder(Series,A)))
geom_col(color="blue") coord_flip()
labs(x = NULL) ggtitle("Interesting Title")
theme(plot.title.position = "plot",
plot.title = element_text(hjust = 0.5))