R 更改ggplot2中单个面的文字颜色

R 更改ggplot2中单个面的文字颜色,r,graph,ggplot2,textcolor,R,Graph,Ggplot2,Textcolor,我使用以下命令创建了以下绘图: ggplot(long.data, aes(owner,value)) + stat_summary(fun.y=mean,geom="bar", fill=c("deepskyblue","deepskyblue4")) + stat_summary(fun.data=mean_cl_normal,geom="errorbar",position= position_dodge(width=.90),width=.1)

我使用以下命令创建了以下绘图:

ggplot(long.data, aes(owner,value)) + stat_summary(fun.y=mean,geom="bar",
       fill=c("deepskyblue","deepskyblue4")) + 
       stat_summary(fun.data=mean_cl_normal,geom="errorbar",position=
       position_dodge(width=.90),width=.1) +
       labs(x="",y="") + facet_grid(IV~experiment+type,scales="free_y") + 
       theme(strip.text.y = element_text(colour = 'red4'))
如果我只想更改上x刻面(在本例中为“隐式”和“显式”级别)的文本颜色(可能还有背景颜色),我该如何做?可能吗?我在ggplot2文档中没有读到任何关于这方面的内容


编辑:很抱歉给您带来了困惑。我的目标是更改其中一个上部条带的文本和背景颜色,而不是面带的颜色。

我收到一条
警告
。。。但这似乎是一个更优雅解决方案的良好起点:

ggplot(mtcars) + geom_rect(data = subset(mtcars, cyl == 4), aes(fill = cyl),xmin = -inf,xmax = Inf, ymin = -Inf,ymax = Inf, alpha = 0.05) +
  geom_point(aes(mpg, wt)) +  facet_grid(. ~ cyl)

您想要更改
strip
元素的属性,而不是facet。试试下面的代码。请注意,这是一个基于随机伪造数据的最小示例,因为您没有提供自己的数据供我们使用。您必须根据需要调整代码

require(reshape)
require(ggplot2)
require(scales)

# fake data
mydf <- data.frame(val1 = runif(10, 0, 1), val2 = runif(10, 0, 1))
mydf

# reshape to long format
long.data <- melt(mydf)
long.data$facetvar <- "implicit"
long.data$facetvar[seq(1, 19, 2)] <- "explicit"
long.data

# plot
ggplot(long.data, aes(y = value, x = variable)) +
    geom_bar(position = 'dodge', stat = "identity") +
    facet_wrap (~ facetvar) +
    theme(strip.background = element_rect(fill = alpha('green', 0.3))) +
    theme(strip.text.x = element_text(colour = 'blue', size = 10))
require(重塑)
需要(ggplot2)
需要(天平)
#假数据

mydf做背景肯定是可行的;见问题。可以通过添加颜色变量来处理文本。是的,在您发布的链接中,问题是更改完整图形的背景。我只想更改一个刻面标签的文本颜色(和背景)。我已经这样做了,我想通过设置刻面的变量,我不想将颜色设置为
NULL
。“仔细读一读,你应该会明白的。”斯劳伦纳我已经仔细读了这篇文章,但什么也没读。添加颜色变量对我不起作用。基本上,我想做的是只对隐式/显式标签使用
strip.text.x=element\u text(color=“red”)
,而不是对Body/Objects标签使用。恐怕我不明白您想要什么。你说你想改变“上x面”?如果不是方面,你想改变什么?也许我的解释不太清楚,所以我向你道歉。实际上,我的目标是将“隐式”和“显式”这两个词用红色表示,也可以将相对背景颜色从灰色改为橙色。@this.is.not.a.nick因为你已经对垂直标签做了这样的处理(使它们变为红色),我想你想要的是一些我还没有得到的不同的东西,很抱歉,谢谢你的回答。在我的例子中,我有两个上面的条带(所以有两个因素),我只想更改其中一个条带的颜色。因此,条带隐式/显式将是(比如)红色,条带体/对象将是(比如)橙色。
strip.text.x
可以用于选定的条带吗?我不知道。你试过了吗?由于我没有你的数据(或“假”数据与真实数据的排列方式相同),我无法在没有大量猜测和不便的情况下进行实验。这是一个典型的例子,说明了为什么应该包含数据。我的建议是试试看。