Увеличение расстояния между вторичной осью y и ее заголовком - PullRequest
1 голос
/ 07 апреля 2020

Я построил график с двумя осями Y. Однако названия осей слишком близки к моему вкусу. Мне удалось дистанцировать заголовок первичной оси, но я не могу понять, как сделать то же самое для вторичной оси. Вот код, который я использовал:

ggplot(data1, aes(x=year))+
geom_line(aes(y= data1$`export share`, colour= "export share"), size = 2)+
  geom_line(aes(y=data1$pm25/coeff, colour= "pm25"), size = 2)+
  scale_x_continuous(breaks = scales::pretty_breaks(n = 17), name = "Year")+
  scale_y_continuous(name="Export Share of GDP", labels = scales::percent, sec.axis=sec_axis(trans = ~.*coeff, name = "PM2.5"))+
  theme(axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)), axis.text.x = element_text(vjust = 5) ,legend.title = element_blank(), legend.box.margin = margin(0,0,0,10), text = element_text(size = 30)) +
  scale_colour_discrete("",
                        breaks=c("export share", "pm25"),
                        labels=c("Export Share of GDP", "PM2.5")) +
  geom_vline(xintercept=2006) +
   geom_vline(xintercept = 2000)

And here's a picture of the graph

1 Ответ

1 голос
/ 07 апреля 2020

Вы можете увеличить поле справа, увеличив второй аргумент plot.margin

+ theme(plot.margin=unit(c(1,3,1,1), "cm"))

, а затем увеличив аргумент vjust axis.title.y.right:

+ theme(axis.title.y.right = element_text(vjust=2 or 3 or 4))

Большие числа для vjust go дальше от оси. Конечно, вы объединяете две вышеупомянутые команды «темы» в одну.

...