首页 > 解决方案 > GGplot 散点图颜色区间

问题描述

我目前正在重新使用 R,但已经有一段时间了,所以我有点生疏了。

我有以下代码用于使用 ggplot2 进行绘图:

ggplot(NewData, aes(x=PAH16Cons ,y=Depth, group(FileName)))+
                geom_point(aes(colour=PAH16Cons))+
                scale_y_continuous(trans="reverse")+
                facet_wrap(facets = vars(FileName))+
                scale_color_gradient2("Cons mg/kg ts", 
                                      breaks =c(0,100,500),
                                      low = 'green',
                                      mid = 'yellow',
                                      high = 'red')

我试图改变绘图的颜色,所以 0-100 之间的值是绿色,100-500 是黄色,500 以上是红色。在此处输入图像描述

但是,如您所见,我没有得到绿色,任何帮助将不胜感激

标签: rggplot2

解决方案


如果您想为每个值范围使用一种颜色阴影,您可以创建一个分组(因子)列,其中包含在PAH16Cons值 <100、100-500 或 >500 的条件下的级别。之后,使用此列进行color美感,ggplot并使用scale_color_manual(values=c("green", "yellow", "red"))自定义颜色。

NewData$cols <- with(NewData, 
    factor(
        ifelse(PAH16Cons < 100, "<100", 
            ifelse(PAH16Cons >= 100 & PAH16Cons <= 500, "100-500", ">500")), 
        levels = c("<100", "100-500", ">500")))

ggplot(NewData, aes(x=PAH16Cons ,y=Depth, group(FileName)))+
    geom_point(aes(colour=cols))+
    scale_y_continuous(trans="reverse")+
    facet_wrap(facets = vars(FileName))+
    scale_color_manual("Cons mg/kg ts", values=c("green", "yellow", "red"))

运行?scale_color_manual以获取更多信息和示例。


推荐阅读