Ric*_*cky 1 r bar-chart ggplot2
如何在ggplot条形图中的每个条形图上添加一条线?
例如,使用内置的ggplot示例:
mm <- ddply(mtcars, "cyl", summarise, mmpg = mean(mpg))
ggplot(mm, aes(x = factor(cyl), y = mmpg)) + geom_bar(stat = "identity")
Run Code Online (Sandbox Code Playgroud)
产生这个
现在我有一个向量y <- c(10, 5, 5),这是我想在每个条上绘制一条线的高度,产生这样的东西
我该怎么做?我尝试过geom_hline,但是会产生横跨整个图表的线条.
这应该工作:
y <- c(10, 5, 5)
mm <- ddply(mtcars, "cyl", summarise, mmpg = mean(mpg))
mm <- cbind(mm, y) # get vector into data frame
ggplot(mm, aes(x = factor(cyl), y = mmpg)) +
geom_bar(stat = "identity") +
geom_errorbar(aes(yintercept = y, ymax=y, ymin=y),
color = "white", size = 2)
Run Code Online (Sandbox Code Playgroud)
我们使用geom_errorbar()绘制在数据帧中的行,然后通过手动设置减少它们的宽度ymax和ymin所述y值.
上面的代码产生了这个结果:
信用来源于这个来源.