如何在ggplot堆栈条形图上添加总线

岩石科学

我很难在此堆叠条形图的总上方添加一行:

demandDriversdf = structure(list(year = structure(c(1356998400, 1388534400, 1420070400,
                                      1451606400, 1483228800), tzone = "GMT", tclass = c("POSIXct",
                                                                                         "POSIXt"), class = c("POSIXct", "POSIXt")), one= c(12.4882571461364,
                                                                                                                                            13.0984912135388, 12.1908055157534, 8.35335266490711, 4.38593754938248
                                                                                         ), two= c(8.73113484771066, -4.34931681021004, -3.04955505552055,
                                                                                                   -1.69136803847247, 3.06500464975644), three= c(0.0669199673877559,
                                                                                                                                                -0.194488564805058, 0.721483847234409, 2.85829802643513, 6.14894193920574
                                                                                                   ), four= c(6.98748008979101, 3.7122726468811, -15.0029846301367,
                                                                                                                     -20.3768539034347, 9.38948700033012)), .Names = c("year", "one",
                                                                                                                                                                       "two", "three", "four"), row.names = c("2013-01-01", "2014-01-01",
                                                                                                                                                                                                                "2015-01-01", "2016-01-01", "2017-01-01"), class = "data.frame")

    demandDriversdf2 = reshape2::melt(demandDriversdf, id.vars=c("year"), value.name="driver")
    rowS = rowSums(demandDriversdf[,setdiff(colnames(demandDriversdf),"year")])
    demandDriversdf2 = rbind(demandDriversdf2, data.frame(year = names(rowS), variable="Total", driver = rowS))
    demandDriversdf2$year=substr(demandDriversdf2$year,1,4)
    demandDriversdf2_1 <- subset(demandDriversdf2,driver >= 0 & variable!="Total")
    demandDriversdf2_2 <- subset(demandDriversdf2,driver < 0 & variable!="Total")
    gdemandDrivers = ggplot2::ggplot() + 
      ggplot2::geom_bar(data = demandDriversdf2_1, aes(x=year, y=driver, fill=variable),stat = "identity") +
      ggplot2::geom_bar(data = demandDriversdf2_2, aes(x=year, y=driver, fill=variable),stat = "identity") +
      ggplot2::geom_line(data = subset(demandDriversdf2, variable=="Total"), aes(x=year, y=driver)) +
      ggplot2::scale_fill_brewer(palette = 2, type = "qual")

我得到这个奇怪的警告

geom_path:每组仅包含一个观测值。您需要调整小组审美吗?

理想情况下,希望该线条为黑色且带有黑点。

_

只需添加group = 1aes()geom_line()

library(ggplot2)

ggplot() + 
  geom_bar(data = demandDriversdf2_1, aes(x=year, y=driver, fill=variable),stat = "identity") +
  geom_bar(data = demandDriversdf2_2, aes(x=year, y=driver, fill=variable),stat = "identity") +
  geom_line(data = subset(demandDriversdf2, variable=="Total"),   
            aes(x=year, y=driver, group = 1)) +
  scale_fill_brewer(palette = 2, type = "qual")

在此处输入图片说明

原因如下:

对于折线图,必须对数据点进行分组,以便知道要连接的点。在这种情况下,这很简单-所有点都应该连接,所以group = 1。当使用更多变量并绘制多条线时,线的分组通常由变量完成。

参考:R的烹饪手册,章节:图形Bar_and_line_graphs_(ggplot2),折线图。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在条形图上添加图例?

如何在Matplotlib中的堆栈百分比条形图上添加注释?

如何在悬停的条形图上添加“阴影”?

如何在seaborn条形图上添加点?

如何在Seaborn facetgrid条形图上添加图例

echarts: 如何在条形图上添加正态分布曲线?

图表如何在条形图上的特定条形图之间添加垂直虚线?

如何在Charts_flutter包的条形图中的条形图上添加onTap函数

如何在条形图上正确放置条形图

如何在条形图上堆叠图标?

如何使用ggplot在条形图上方添加水平线?

如何在条形图上的条形上方写文本(Python)?

如何在ggplot2地图上绘制条形图

R ggplot-如何在条形图上方旋转计数

如何在ggplot2中的群集条形图上对齐文本?

R ggplot2 如何在条形图上绘制标准偏差

如何在ggplot2的条形图上使geom_errorbar正确“躲避”?

如何在我的ggplot2 2因子条形图上放置标准误差条?

在R ggplot中的堆叠条形图顶部添加总计数

如何在R中的条形图上的标签上添加$符号?[包含图片和代码]

如何在matplotlib中的熊猫条形图上添加一条线?

如何在总线芯片外围设备上添加总线主设备

如何使用ggplot2在条形图上放置标签?

如何在R中使用ggplot2在条形图中的条形图中添加标签?

ggplot:如何在堆叠的条形图中的每个填充周围添加轮廓,但仅部分添加

如何在谷歌地图上叠加条形图?

python-如何在条形图上显示值

如何在条形图上显示数值计数

gnuplot:如何在群集直方图的条形图上绘制点?