从折线图开始的条形图

Posted

技术标签:

【中文标题】从折线图开始的条形图【英文标题】:bar chart starting over line chart 【发布时间】:2022-01-14 11:28:27 【问题描述】:

我想重叠一条线和一个条形图。棘手的部分是条形不应从 0 开始,而应从行开始。到目前为止我试过了

valuation <- c(100, 105, 120)
deposit <- c(0, 10, -15)
date <- as.Date(c('2010-11-1','2010-11-2','2010-11-3'))
df <- data.frame( valuation, deposit, date)ggplot(df) + 
        geom_line(aes(x=date, y=valuation, group=1)) + 
        geom_col(aes(x=date, y=deposit, fill=sign)) + 
        scale_fill_manual(values = c("positive"="green","negative"="red"))

这会产生以下输出:https://i.ibb.co/pyT3bk2/1.png(抱歉,我需要 10 个声望才能发布图片)

我需要正值从直线的同一点开始向上,负值也从直线开始但向下:https://i.ibb.co/gZBsXnp/2.png

你知道这是否可能吗?非常感谢!!

【问题讨论】:

什么是 group=1? 【参考方案1】:

我建议在这里使用geom_rect 而不是geom_col

ggplot(df) + 
  geom_rect(aes(xmin=date-.4, xmax=date+.4, ymin=valuation, ymax=valuation+deposit, 
                fill=ifelse(deposit>0, "positive", "negative"))) + 
  geom_line(aes(x=date, y=valuation)) + 
  ylim(0, 120) +
  scale_fill_manual(values = c("positive"="green","negative"="red"), name = "sign")

创建以下图表:

【讨论】:

yesssssssssssssss 完美运行。非常感谢维策!!!

以上是关于从折线图开始的条形图的主要内容,如果未能解决你的问题,请参考以下文章

相同颜色和线条的条形图和线图在条形图后面

java生成饼状图,条形图,折线图的技术可以动态的显示

一个图形核心图中的折线图和条形图

matplotlib 将条形图和折线图结合在一起

带折线图的条形图 - 使用非数字索引

折线图+不同频率的分组条形图[重复]