【发布时间】:2015-09-24 18:20:46
【问题描述】:
我之前问过一个关于在 R.Creating barplot with standard errors plotted in R 中绘制带有标准错误的条形图的问题。答案非常适合我的需要。不过我想问一下是否可以修改剧情的图形。
首先,如何修改 x 轴上每个因子的宽度,以使每个条形都相等?因此在下面的示例中,站点 B 会更宽,因此“之前”、“期间”和“之后”的每个条形的宽度相等。
其次,实际上我有比这三个更多的因素,但情节(令人恼火)不应该有颜色。我找不到任何关于在每个条上绘制图案的填充效果。因此,对于某些人来说,可能是带有黑色对角线的白色背景,例如在this 图片中。这在ggplot中可能吗?如果是这样,“之前”和“之后”的灰色和黑色填充,以及“期间”的某种图案将是理想的。
抱歉,我无法找到一种方法来一致地更改每个站点的宽度并更新填充效果。
这是一个示例数据集:
site <- c(rep("a", 8),
rep("b", 11),
rep("c", 8))
values <- as.data.frame(matrix(sample(0:10, 3*9, replace=TRUE), ncol=1))
when <- as.factor(c(rep(c("Before","After"),each = 4),
rep("During", 3),
rep("Before", 4),
rep("After", 4),
rep(c("Before","After"),each = 4)))
df <- data.frame(when,site,values)
这是我目前得到的输出:
library(plotrix)
library(dplyr)
library(ggplot2)
grouped_df<-group_by(df,when,site)
summarised_df<-summarise_each(grouped_df,funs(mean=mean,std_error=std.error))
limits <- aes(ymax = mean + std_error, ymin=mean-std_error)
g<-ggplot(summarised_df,aes(site,mean,fill=when))
g<-g+geom_bar(stat = "identity",position = position_dodge())
g<-g+geom_errorbar(limits,width=0.25,position = position_dodge(width = 0.9))
g
提前感谢您在修改这些图形方面提供的任何帮助。
【问题讨论】:
-
列名已更新,它正在处理我的工作,但我已将变量名更改为“何时”以避免混淆。抱歉,我正在混合上一个示例中的代码,但针对这个问题对其进行了更新。