我想尝试这个情节:
library(ggplot2)
testdata <- data.frame(x=c(1:5),a=c(1:5),b=c(10:6))
ggplot(testdata, aes(x = x)) +
geom_bar(aes(y=b), stat = "identity", fill="darkgrey")+
geom_bar(aes(y=a), linetype="solid", colour="black", stat = "identity", fill=NA)
带有传奇。因为我不能在这里得到一个传奇(如果你知道如何,这将是一个很好的解决方法),我试图接近正确的&#39;在ggplot中绘制此图的方法,即使用长数据,例如:
testdata <- data.frame(x = c(1:5,1:5), y = c(1:5,10:6), group = c(rep("a",5), rep("b",5)))
ggplot(testdata, aes(x = x, y = y, group = group, fill = group)) +
geom_bar(stat = "identity", linetype = "solid", colour = "black", position = position_dodge(width = 0))+
scale_fill_manual(values = c(NA, "darkgrey"))
虽然我在这里有一个传奇,但是这些酒吧相距甚远。更改此设置的常用参数是width
position_dodge
,但我需要等于0才能进行100%叠加。所以我在理想世界中的问题是:我可以减少第二个图中条形的距离吗?如果这不可行,我可以在第一个情节中添加一个图例吗?任何帮助将不胜感激!
答案 0 :(得分:2)
尝试更改width
以外position_dodge
。
ggplot(testdata, aes(x = x, y = y, group = group, fill = group)) +
geom_bar(width=1.5,stat = "identity", linetype = "solid", colour = "black", position = position_dodge(width = 0))+
scale_fill_manual(values = c(NA, "darkgrey"))