我如何操作facet_grid图的条形文字?

我想知道如何在小平面图中操作条形文字的大小。 我的问题类似于情节标题上的问题 ,但是我特别关心的不是情节标题,而是方面标题(strip_h)中出现的文字。

作为一个例子,考虑mpg数据集。

library(ggplot2) qplot(hwy, cty, data = mpg) + facet_grid( . ~ manufacturer) 

生成的输出会生成一些不适合条的小平面标题。

我在想,必须有一种方法来使用grid来处理条形文字。 但我仍然是一个新手,从哈德利书中的grid附录中不能确定如何做到这一点。 另外,如果我做错了,我很害怕会破坏我的洗衣机,因为我相信所有的技术都是通过The Force来连接:-(

提前谢谢了。

例如,您可以使用theme_text()修改strip.text.x (或strip.text.y

 qplot(hwy, cty, data = mpg) + facet_grid(. ~ manufacturer) + opts(strip.text.x = theme_text(size = 8, colour = "red", angle = 90)) 

更新:对于ggplot2版本> 0.9.1

 qplot(hwy, cty, data = mpg) + facet_grid(. ~ manufacturer) + theme(strip.text.x = element_text(size = 8, colour = "red", angle = 90)) 

现在optstheme_text的使用似乎已经被废弃了。 Rbuild议使用themeelement_text 。 答案的解决scheme可以在这里find: http : //wiki.stdout.org/rcookbook/Graphs/Facets%20%28ggplot2%29/#modifying-facet-label-text

 qplot(hwy, cty, data = mpg) + facet_grid(. ~ manufacturer) + theme(strip.text.x = element_text(size = 8, colour = "red", angle = 90)) 

我想在改变旋转angular度和字体大小的mpg的例子,但在很多情况下,你可能会发现自己的variables有相当长的标签,它可以成为一个痛苦的脖子(字面上)尝试阅读旋转冗长标签。

因此,除了(或补充)改变angular度和大小之外,我通常会重新定义定义facet_grid的因素的标签,只要它们可以以有意义的方式分割。

通常情况下,如果我有一个dataset$variablestring看起来像

 c("median_something", "aggregated_average_x","error","something_else") 

我只是做:

 reformat <– function(x,lab="\n"){ sapply(x, function(c){ paste(unlist(strsplit(as.character(c) , split="_")),collapse=lab) }) } 

[也许有更好的reformat定义的定义,但至less这个工作正常。]

 dataset$variable <- factor(dataset$variable, labels=reformat(dataset$variable, lab='\n') 

所有的标签都是可读的:

 ggplot(data=dataset, aes(x,y)) + geom_point() + facet_grid(. ~ variable)