ggplot2:无法使用position ='right'更改axis.title.y角度

arv*_*000 6 r ggplot2

这是一个基本情节:

ggplot(data.frame(x=1:10,y=1:10), aes(x,y)) +
  geom_point() +
  theme_linedraw()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我想要不旋转y轴标签,我可以这样做:

ggplot(data.frame(x=1:10,y=1:10), aes(x,y)) +
  geom_point() +
  theme_linedraw() +
  theme(axis.title.y = 
          element_text(color='red', angle=0, vjust = 0.5))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我想要它在右侧,我可以这样做:

ggplot(data.frame(x=1:10,y=1:10), aes(x,y)) +
  geom_point() +
  theme_linedraw() +
  scale_y_continuous(position = 'right')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但为什么我不能两个都做?

ggplot(data.frame(x=1:10,y=1:10), aes(x,y)) +
  geom_point() +
  theme_linedraw() +
  scale_y_continuous(position = 'right') +
  theme(axis.title.y = 
          element_text(color='red', angle=0, vjust = 0.5))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

以供参考:

> sessionInfo()
R version 3.3.3 (2017-03-06)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X El Capitan 10.11.6

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets 
[6] methods   base     

other attached packages:
[1] magrittr_1.5  ggplot2_2.2.1

loaded via a namespace (and not attached):
 [1] labeling_0.3     colorspace_1.2-6 scales_0.4.1    
 [4] lazyeval_0.2.0   plyr_1.8.4       tools_3.3.3     
 [7] gtable_0.2.0     tibble_1.3.4     yaml_2.1.13     
[10] Rcpp_0.12.12.5   grid_3.3.3       digest_0.6.12   
[13] rlang_0.1.2      munsell_0.4.3 
Run Code Online (Sandbox Code Playgroud)

hra*_*bel 6

ggplot2::theme有适用组件的左右选项.所以你可以使用axis.title.y.right.

奇怪的是,您需要明确指定颜色right何时以及您在评论中所说的,好的发现! axis.title.yleftright

library(ggplot2)
ggplot(data.frame(x=1:10,y=1:10), aes(x,y)) +
  geom_point() +
  theme_linedraw() +
  scale_y_continuous(position = 'right') +
  theme(axis.title.y.right = element_text(color='red', angle=0, vjust = 0.5))
Run Code Online (Sandbox Code Playgroud)