我有以下图表
test <- expand.grid('cat' = LETTERS[1:5], 'cond'= c(F,T), 'year' = 2001:2005)
test$value <- floor((rnorm(nrow(test)))*100)
test$value[test$value < 0] <- 0
ggplot() +
geom_bar(data=test, aes(y = value, x = year, fill = cat), stat="identity",position='dodge') +
theme_bw()
Run Code Online (Sandbox Code Playgroud)
我需要将每个'猫'除以'cond'(真或假).我怎么做?
我正在ggplot2中绘制堆栈条形图。我的数据集就像
var1 var2 var3 value
treatment1 group_1 C8.0 0.010056478
treatment2 group_1 C8.0 0.009382918
treatment3 group_2 C8.0 0.003014983
treatment4 group_2 C8.0 0.005349631
treatment5 group_2 C8.0 0.005349631
Run Code Online (Sandbox Code Playgroud)
var1包含5个处理,这五个处理属于中的两个组var2,每个处理中有14个测量var3值,其值存储在中value。
我想作图比较这五种治疗方法及其测量值。所以我用堆栈条形图绘制如下图:
我的代码:
library(ggplot2)
colourCount = length(unique(mydata$var3))
getPalette = colorRampPalette(brewer.pal(14, "YlGnBu")) #get more color from palette
ggplot(data=mydata, aes(x=var1, y=value, fill=var3))+
geom_bar(stat="identity", position="stack", colour="black", width=.2)+
*#geom_errorbar(aes(ymax=var3+se, ymin=var3-se, width=.1))+*
scale_fill_manual(values = getPalette(colourCount))+
scale_y_continuous(expand = c(0, 0))+
mytheme
Run Code Online (Sandbox Code Playgroud)
我如何将前两列堆叠在一起,而其他三列合并在一起?因为它们属于中的两个组var2。