2016-02-18 55 views
1

我的数据集包含8(4x2)个观察值的“左”和“右”值。像这样的测试架:分组的ggplot条,具有依赖于另一个变量的渐变颜色

Labels  r   pval  Mean Side 
L1 0.49425792 1.191802e-04 0.7992786 Left 
L2 0.25906498 3.371854e-02 1.7977923 Left 
L3 0.63098789 3.711588e-07 0.8519239 Left 
L4 0.20325181 7.707517e-02 1.1287030 Left 
L1 0.72761384 7.991909e-10 1.1369230 Right 
L2 0.93941231 0.000000e+00 1.0262915 Right 
L3 0.80899301 3.805845e-13 1.1670454 Right 
L4 0.30345181 7.507517e-02 1.1677030 Right 

,我可以创建分组的情节做:

ggplot(data = TEST, aes(factor(Labels),r, fill=Side)) + 
geom_bar(stat="identity", position = "dodge") 

情节是非常好的,我可以看到“左/右”分组为每个标签。但是,我想使用渐变颜色来填充每个小节,使用'Mean'中的值,保持分组的'Left/Right'小节。

有没有可能这样做? 谢谢 的Fab

回答

1

您可以添加基于侧的group声明并指定fill根据平均:

ggplot(data = TEST, aes(factor(Labels),r, group=Side, fill=Mean)) + 
    geom_bar(stat="identity", position = "dodge") 

如果你想改变你可以添加scale_fill_gradient(),例如颜色

scale_fill_gradient(low="blue", high="red") 

enter image description here

+0

尼斯将有可能使用differente渐变色的 “左” 和 “右” 组感谢您的Fab – user3306909

+0

例如,添加 “COL =侧面”,如:!?!ggplot (data = TEST,aes(factor(Sulci),ICC,group = Side,fill = Mean,col = Side))+ geom_bar(stat =“identity”,position =“dodge”)将增加额外的线条区分已经很好的“左”和“右”。有没有办法分配不同的梯度?一个用于“左”(蓝色,红色)和一个用于“右”(黄色,绿色)?谢谢!Fab – user3306909

+0

@ user3306909不幸的是,我想不出有办法做到这一点。你可以问一个新的问题。 – beetroot