R 使一个条上的边框比其他条上的边框暗

R 使一个条上的边框比其他条上的边框暗,r,graph,colors,ggplot2,border,R,Graph,Colors,Ggplot2,Border,我在ggplot2中创建了一个条形图,其中3个条形图表示做出3个选择中的1个的概率 我想在显示正确响应的条周围添加一个粗体的边框 我还没有找到一个方法来做这件事。我可以改变所有酒吧的颜色,但不仅仅是一个 所附图像显示了我生成的图形网格。在leftCust列中,我希望所有下方带有“left”的条都有粗体边框 在rightCust列中,我想将粗体边框添加到所有栏的右下方 最后,在SIMCust列中,我希望所有下方带有SIM的条都有粗体边框 这基本上是为了突出显示正确的响应,并使解释图表显示的内容更容

我在ggplot2中创建了一个条形图,其中3个条形图表示做出3个选择中的1个的概率

我想在显示正确响应的条周围添加一个粗体的边框

我还没有找到一个方法来做这件事。我可以改变所有酒吧的颜色,但不仅仅是一个

所附图像显示了我生成的图形网格。在leftCust列中,我希望所有下方带有“left”的条都有粗体边框

在rightCust列中,我想将粗体边框添加到所有栏的右下方

最后,在SIMCust列中,我希望所有下方带有SIM的条都有粗体边框

这基本上是为了突出显示正确的响应,并使解释图表显示的内容更容易

代码:

。 .

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

使用下面Troy提出的代码,我对其进行了一些修改,并提出了一个解决ggplot2中缺少条形图模式的小方法

下面是我用来向条中添加垂直线以获得正确响应条的基本模式的代码。我相信,你们这些聪明的人可以根据自己的需要对纹理/图案进行调整,尽管是基本的:

######### ADD THIS LINE TO CREATE THE HIGHLIGHT SUBSET
HighlightDataCust <-AggBar[AggBar$Report==gsub("Cust", "", AggBar$Visual),]
#####################################################


prob.bar = ggplot(AggBar, aes(x = Report, y = Prob, fill = Report)) + theme_bw() + facet_grid(Audio~Visual)
prob.bar + geom_bar(position=position_dodge(.9), stat="identity", colour="black") + theme(legend.position = "none") + labs(x="Response", y="Probability of Report") + scale_fill_grey() +

######### ADD THIS LINE TO CREATE THE HIGHLIGHT SUBSET

geom_bar(data=HighlightDataCust, position=position_dodge(.9), stat="identity", colour="black", size=2)+
  geom_bar(data=HighlightDataCust, position=position_dodge(.9), stat="identity", colour="black", size=0.5, width=0.85)+
  geom_bar(data=HighlightDataCust, position=position_dodge(.9), stat="identity", colour="black", size=0.5, width=0.65)+
  geom_bar(data=HighlightDataCust, position=position_dodge(.9), stat="identity", colour="black", size=0.5, width=0.45)+
  geom_bar(data=HighlightDataCust, position=position_dodge(.9), stat="identity", colour="black", size=0.5, width=0.25)+
  geom_bar(data=HighlightDataCust, position=position_dodge(.9), stat="identity", colour="black", width=0.0) +
  ######################################################

labs(title = expression("Visual Condition")) +
  theme(text=element_text(size=18))+
  theme(axis.title.x=element_text(size=18))+
  theme(axis.title.y=element_text(size=18))+
  theme(axis.text.x=element_text(size=12))+
  geom_errorbar(aes(ymin=Prob-ci, ymax=Prob+ci),
                width=.2, # Width of the error bars
                position=position_dodge(.9))+
  theme(plot.title = element_text(size = 18))+
  scale_y_continuous(limits = c(0, 100), breaks = (seq(0,100,by = 10)))
##########添加此行以创建高亮子集

HighlightDataCust我没有您的数据,因此我使用了
菱形数据集来演示

基本上,您需要在第二次调用
geom_bar()
时“过度绘制”,在此过程中,您将
data=
属性过滤为仅绘制要高亮显示的条形图。只需过滤原始数据即可排除任何不需要的内容。e、 g下面我们回复子集
diamonds[(diamonds$clearity==“SI2”),]

好的,用你的数据更新。我必须弥补置信区间,因为AggBar2数据中没有这些置信区间:

######### ADD THIS LINE TO CREATE THE HIGHLIGHT SUBSET
HighlightData<-AggBar2[AggBar2$Report==gsub("Cust","",AggBar2$Visual),]
#####################################################

prob.bar = ggplot(AggBar2, aes(x = Report, y = Prob, fill = Report)) + theme_bw() + facet_grid(Audio~Visual)
prob.bar + geom_bar(position=position_dodge(.9), stat="identity", colour="black") + theme(legend.position = "none") + labs(x="Report", y="Probability of Report") + scale_fill_grey() +

######### ADD THIS LINE TO CREATE THE HIGHLIGHT SUBSET
  geom_bar(data=HighlightData, position=position_dodge(.9), stat="identity", colour="pink",size=1) +
######################################################

  labs(title = expression("Visual Condition")) +
  theme(plot.title = element_text(size = rel(1)))+
  geom_errorbar(aes(ymin=Prob-ci, ymax=Prob+ci),
                width=.2, # Width of the error bars
                position=position_dodge(.9))+
  theme(plot.title = element_text(size = rel(1.5)))+
  scale_y_continuous(limits = c(0, 100), breaks = (seq(0,100,by = 10)))
##########添加此行以创建高亮子集

HighlightData与Troy的答案类似,但您可以使用
size
美学和
scale\u size\u手册
,而不是创建一层不可见的条形图:

require(ggplot2)
data(diamonds)

diamonds$choose = factor(diamonds$clarity == "SI1")

ggplot(diamonds) + 
  geom_bar(aes(x = clarity, fill=clarity, size=choose), color="black") +
  scale_size_manual(values=c(0.5, 1), guide = "none") +
  facet_wrap(~ cut)
这将生成以下绘图:


你能改变颜色吗?看起来条上的灰度着色并没有添加任何信息。也许你可以用这个来表示正确的答案。另外,代码也很好。不幸的是,我需要使用灰色条。颜色将是一个很好的简单解决方案。干杯
d <- ggplot(diamonds) +  geom_bar(aes(clarity, fill=color))    # first plot
d + geom_bar(data=diamonds[(diamonds$clarity=="SI2"),],        # filter
aes(clarity), alpha=0, size=1, color="black") +                # plot outline only
  facet_wrap(~ cut) 
data=yourdata[(yourdata$visualcondition=="LeftCust" & yourdata$report=="Left" |
                 yourdata$visualcondition=="SIMCust" & yourdata$report=="SIM" |
                yourdata$visualcondition=="RightCust" & yourdata$report=="Right"),]
######### ADD THIS LINE TO CREATE THE HIGHLIGHT SUBSET
HighlightData<-AggBar2[AggBar2$Report==gsub("Cust","",AggBar2$Visual),]
#####################################################

prob.bar = ggplot(AggBar2, aes(x = Report, y = Prob, fill = Report)) + theme_bw() + facet_grid(Audio~Visual)
prob.bar + geom_bar(position=position_dodge(.9), stat="identity", colour="black") + theme(legend.position = "none") + labs(x="Report", y="Probability of Report") + scale_fill_grey() +

######### ADD THIS LINE TO CREATE THE HIGHLIGHT SUBSET
  geom_bar(data=HighlightData, position=position_dodge(.9), stat="identity", colour="pink",size=1) +
######################################################

  labs(title = expression("Visual Condition")) +
  theme(plot.title = element_text(size = rel(1)))+
  geom_errorbar(aes(ymin=Prob-ci, ymax=Prob+ci),
                width=.2, # Width of the error bars
                position=position_dodge(.9))+
  theme(plot.title = element_text(size = rel(1.5)))+
  scale_y_continuous(limits = c(0, 100), breaks = (seq(0,100,by = 10)))
require(ggplot2)
data(diamonds)

diamonds$choose = factor(diamonds$clarity == "SI1")

ggplot(diamonds) + 
  geom_bar(aes(x = clarity, fill=clarity, size=choose), color="black") +
  scale_size_manual(values=c(0.5, 1), guide = "none") +
  facet_wrap(~ cut)