Переместить заголовок по оси Y горизонтально ggplot2

#r #ggplot2 #axis

Вопрос:

В настоящее время у меня есть график, который выглядит примерно так 1, и я хотел бы переместить заголовок оси Y горизонтально вправо, чтобы зарплата превышала 150000. Ниже приведен текущий код.

 ggplot(data=SalaryGender, aes(y=Salary, x=Age, color=Gender))   geom_point()   
 xlab("Age")   ylab("salary")   ggtitle("Relationship Salary, Age, and Gender")   stat_smooth(method="lm", se=FALSE)   theme_bw()   theme(plot.title = element_text(face = "bold", size = 14),axis.text = element_text(face = "bold", size = 13),axis.title = element_text(face = "bold", size = 11),axis.title.y=element_text(angle=0)) 
 

Комментарии:

1. Вы можете изменить положение заголовка оси, добавив «hjust» для горизонтального и «vjust» для вертикального перемещения. ось.название. y=элементтекст(угол=0, hjust = -1, vjust = 1)) Это пример, но я не думаю, что вы можете подняться на вершину ценностей.

2. Вы также можете установить отрицательное правое поле в заголовке оси с помощью элемента темы.

Ответ №1:

Просто интересно annotate , может ли это сделать трюк. Возможно, вам потребуется скорректировать x и y значения, а также добавить size на вашей стороне

 library(tidyverse)
df <- data.frame(
  Salary = c(14000, 146000, 138000, 121000, 135000, 90000, 5000, 50), 
  Age = c(20, 40, 50, 79, 40, 30, 80, 50), 
  Gender = c("Female", "Male", "Female", "Male","Female", "Male","Female", "Male")
)

ggplot(data=df, 
       aes(y=Salary, x=Age, color=Gender))   
  geom_point()   
  xlab("Age")   ylab("salary")   
  ggtitle("Relationship Salary, Age, and Gender")   
  stat_smooth(method="lm", se=FALSE)   theme_bw()   
  theme(plot.title = element_text(face = "bold", size = 14),
        axis.text = element_text(face = "bold", size = 13),
        axis.title = element_text(face = "bold", size = 11),
        axis.title.y = element_blank()
        )  
  coord_cartesian(clip = "off", ylim = c(0, 150000), xlim = c(20, NA))  
  annotate("text", x = 12, y = 161000, label = "Salary")
 

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