как изменить метки осей ggplot в R

#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))
 

введите описание изображения здесь