我试图获得一个相当常见的条形图,但尽管阅读了大量有关R中绘图的文档,以及ggplot及其所有图层的文档,但我无法按照我想要的方式获取此图 .
我的数据相当简单 .
aov.data
Block RTreg RTrnd
1 Block1 0.0000 862.0707
2 Block2 667.2081 770.4315
3 Block3 645.4730 696.0200
4 Block4 674.5200 659.4765
5 Block5 651.4295 633.7333
我想得到的是一个在x轴上带有 Block
列的条形图,作为一个分类变量 . 在y轴上,我想要绘制 RTreg
和 RTrnd
列的值 . 这是我无法做到的部分 . 我想要的是在x轴上每个刻度标记有两个条 . 一个条表示该块中 RTreg
的值,一个条表示该块中 RTrnd
的值 . 像这样的东西:
.
但是有5套两个酒吧而不是两个 .
到目前为止,我使用了以下代码:
ggplot(aov.data,aes(x=Block)) +
geom_bar(aes(y=RTreg),stat="identity",position="dodge",col="blue") +
geom_bar(position="dodge") +
geom_bar(aes(y=RTrnd),stat="identity",position="dodge",col="red")
我以为我要做的是先用包含块的分类x轴创建基础图 . 然后, geom_bar
我以为我正在添加,首先是 RTreg
列,而第二个 geom_bar
,我正在添加 RTrnd
列 . 选项 position
等于 dodge
我虽然我要把两个酒吧并排 . 但是,我得到的情节是:
Valid XHTML http://s12.postimage.org/k0przrmtp/failed_geom_bar.png .
关于如何并排获得两个酒吧的想法,并希望有不同的颜色和每个的传奇?我真的很感激这里的一些指导 .
提前致谢 .
1 回答
您必须从宽到长重塑数据框,然后您不需要分别为每个条件设置条形 .
假设数据框名为
df
.