如何向我的瀑布图添加渐变?

How can I add a gradient to my waterfall plot?

刚开始使用 R 并按照教程创建了瀑布图。它在使用二分值时效果很好:

col <- ifelse(tumor_tidy_wp$zr == "YES", "#1B9E77", "#D95F02")

barplot(tumor_tidy_wp$maxchange, col=col, border="Black", space=0.5, ylim=c(-75,75),
      main = "Waterfall plot", ylab="Change from baseline (%)",
      cex.axis=1.2, cex.lab=1.4, legend.text=c("Yes","No"),
      args.legend=list(title="Uptake 89Zr on any time-point", fill=c("#1B9E77","#D95F02"), border=NA, cex=0.9)) +
      theme(axis.line.x = element_blank(), axis.text.x = element_blank(), axis.ticks.x = element_blank(),
      axis.title.y = element_text(face="bold",angle=90))

我也有这个值的连续比例,而不是 YES/NO 我想要一个渐变,但我无法让它工作。我尝试使用 scale_fill() 的版本但失败了。还有别的办法吗?

通过从使用 barplot 更改为 ggplot + geom_bar + scale_fill_gradient2 自己修复了它

ggplot(data=tumor_tidy_wp, aes(x=x, y=maxchange, fill=IA)) + geom_bar(stat="identity") + scale_fill_gradient() + theme_classic2() + expand_limits(y=c(-60, 60)) + ylab("Change from baseline(%)")

Waterfall plot with gradient