xg主题在ggplot2中

时间:2012-01-13 06:50:41

标签: r ggplot2

我正在制作许多具有相同xlab的图表。我想我们可以在这样的主题中使用xlab:

theme_mine1 <- opts(
      panel.grid.major = theme_blank()
    , panel.grid.minor = theme_blank()
    , panel.background = theme_blank()
    , axis.line        = theme_blank()
    , xlab             = expression(paste("My (xlab ", m^{-2}, ")"))
    )

当我使用这个主题时,它不会给出任何错误或警告,但它不会改变xlab。任何建议将受到高度赞赏。感谢

2 个答案:

答案 0 :(得分:8)

您可以使用opts(labels=list(x='xlabelhere'),...)

关于我是如何发现这一点的说明(因为我以前不知道它,并认为它非常有用):

有一个很棒的stackoverflow问题,可以找到可以输入opts here的内容。

总结一下,它引用了the ggplot2 wiki for opts表示您可以使用plot_theme(p)查看当前应用于情节p的所有选项。

在您的情况下,ggplot2 opts链接没有为x标签产生任何结果,但是根据之前的问题在plot_theme(p)上执行p,可以看到:

> names(plot_theme(p))
 [1] "labels"             "axis.line"          "axis.text.x"       
 [4] "axis.text.y"        "axis.ticks"         "axis.title.x"      
 [7] "axis.title.y"       "axis.ticks.length"  "axis.ticks.margin" 
[10] "legend.background"  "legend.key"         "legend.key.size"   
[13] "legend.key.height"  "legend.key.width"   "legend.text"       
[16] "legend.text.align"  "legend.title"       "legend.title.align"
[19] "legend.position"    "legend.direction"   "legend.box"        
[22] "panel.background"   "panel.border"       "panel.grid.major"  
[25] "panel.grid.minor"   "panel.margin"       "strip.background"  
[28] "strip.text.x"       "strip.text.y"       "plot.background"   
[31] "plot.title"         "plot.margin"       

出于您的目的,labels看起来非常有前途!

然后我尝试了:

> plot_theme(p)$labels
$x
[1] "x"

$y
[1] "y/n"

分数!这足以让我继续下去:

theme_mine1 <- opts(
                ....,
                labels=list(x='my xlabel! booya!'))

哪个有用!

答案 1 :(得分:3)

xlab不是opts()的参数,而是一个单独的函数,请尝试这样做,

qplot(1, 1) + list(theme_mine1, xlab("x label"))