如何为ggplot2添加手动颜色(geom_smooth / geom_line)

马托

我想用ggplot2建立一个情节。因此,我使用geom_line来可视化线条,并使用geom_smooth来显示特定索引的最小-最大范围。使用了两个数据框,第一行包含日期(例如:2013-02-04),下一行是测量值(例如2.532283)。

首先,我生成一个具有所有样式的空ggplot:

yrange_EVI2 =是索引的范围(最小-最大)xrange =是x轴的日期范围(最早-最新日期)

EVI2_veg <- ggplot() + geom_blank() + 
            ylim(yrange_EVI2) + xlim(xrange) +
            ggtitle("EVI2 for reference-data in Azraq (Jordan)") + ylab("EVI2") + xlab("month") +
            theme_bw(base_size = 12, base_family = "Times New Roman")

第二步是绘制范围(最小-最大范围)和具有特定值平均值的线:

EVI2_veg <- EVI2_veg +
            geom_smooth(aes(x=Date, y=Vegetable_mean, ymin=Vegetable_min, ymax=Vegetable_max), data=Grouped_Croptypes_EVI2, stat="identity") +
            geom_line(aes(x=Date, y=Tomato), data=Sample_EVI2_A_SPOT)

在最后一步中,我尝试使用scale_fill_manual和scale_color_manual更改颜色:

EVI2_veg <- EVI2_veg + 
             scale_fill_manual("Min-Max-Range and Mean \nof specific Croptypes",labels=c("Vegetable","Tomato"),values=c("#008B00","#FFFFFF")) +
             scale_color_manual("Min-Max-Range and Mean \nof specific Croptypes",labels=c("Vegetable","Tomato"),values=c("#008B00","#CD4F39"))

我阅读了很多有关特定软件包的答案和手册,但是当我使用不同的colors =“”和fill =“”时,我不明白:

  1. geom_line(ads(color =“”,fill =“”))
  2. geom_line(ads(),color =“”,fill =“”)
  3. scale_color_manual(values = c(“”))或scale_fill_manual =(values = c(“”)))

如果我没有定义1.没有图例出现。但是,如果我像代码中那样定义颜色,则颜色与图不匹配。这是我第一次使用ggplot2,我读了很多这个有用的程序包,但是我不明白如何定义颜色。以及剧情和图例中的颜色如何匹配。如果有人可以帮助我,那将是很好的。

弗里克先生

首先,将示例数据包含在任何绘图代码中总是很不错的,否则我们将无法运行它以查看您所看到的。在发表其他文章之前,请阅读如何制作出色的R可重现示例这将使人们更轻松地为您提供帮助。无论如何,这是一些示例数据

Sample_EVI2_A_SPOT<-data.frame(
    Date=seq(as.Date("2014-01-01"), as.Date("2014-02-01"), by="1 day"),
    Tomato = cumsum(rnorm(32))
)
Grouped_Croptypes_EVI2<-data.frame(
    Date=seq(as.Date("2014-01-01"), as.Date("2014-02-01"), by="1 day"),
    Vegetable_mean=cumsum(rnorm(32))
)
Grouped_Croptypes_EVI2<-transform(Grouped_Croptypes_EVI2,
    Vegetable_max=Vegetable_mean+runif(32)*5,
    Vegetable_min=Vegetable_mean-runif(32)*5
)

这应该使您想要的情节

EVI2_veg <- ggplot() + geom_blank() + 
    ggtitle("EVI2 for reference-data in Azraq (Jordan)") +
    ylab("EVI2") + xlab("month") +
    theme_bw(base_size = 12, base_family = "Times New Roman") + 
    geom_smooth(aes(x=Date, y=Vegetable_mean, ymin=Vegetable_min, 
        ymax=Vegetable_max, color="Vegetable", fill="Vegetable"),
        data=Grouped_Croptypes_EVI2, stat="identity") +
    geom_line(aes(x=Date, y=Tomato, color="Tomato"), data=Sample_EVI2_A_SPOT) +
    scale_fill_manual(name="Min-Max-Range and Mean \nof specific Croptypes",
        values=c(Vegetable="#008B00", Tomato="#FFFFFF")) +
    scale_color_manual(name="Min-Max-Range and Mean \nof specific Croptypes",
        values=c(Vegetable="#008B00",Tomato="#CD4F39"))
EVI2_veg

注意添加color=fill=aes()电话。您确实应该将所需的内容放入图例中aes()在这里,我指定“假”颜色,然后在scale_*_manual命令中对其进行定义

样本输出

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ggplot2使用geom_line手动指定颜色

来自分类Dev

ggplot:遍历geom_line

来自分类Dev

ggplot:遍历geom_line

来自分类Dev

使用带有因子颜色和手动添加线的 geom_line 向 ggplot 添加图例

来自分类Dev

R-geom_line ggplot2中的手动图例颜色

来自分类Dev

颜色aes断开geom_line()

来自分类Dev

用ggplot曲线geom_line()

来自分类Dev

手动更改置信区间的线颜色(geom_line,线图)

来自分类Dev

R ggplot2 geom_line位置闪避

来自分类Dev

ggplot2 geom_line()和平滑

来自分类Dev

ggplot2 geom_line()跳过NA值

来自分类Dev

ggplot2:合并geom_line,geom_point和geom_bar的图例

来自分类Dev

R geom_line未按预期绘制

来自分类Dev

裁剪/限制Geom_Line绘图

来自分类Dev

geom_line 没有显示线

来自分类Dev

添加geom_point和geom_line进行绘图

来自分类Dev

ggplot2中的geom_line和stat_smooth之间存在很大差异

来自分类Dev

R ggplot2散点图:为与(回归)geom_smooth线的偏离程度添加颜色

来自分类Dev

R ggplot2 geom_smooth不会添加负值

来自分类Dev

结合geom_boxplot和geom_line

来自分类Dev

带geom_line和geom_ribbon的图例

来自分类Dev

绘制geom_line()+ geom_point()R

来自分类Dev

抖动geom_line和geom_point

来自分类Dev

结合使用geom_boxplot和geom_line

来自分类Dev

分别调整geom_point()和geom_line()

来自分类Dev

geom_label_repel() 高于 geom_line()

来自分类Dev

将多个geom_line添加到ggplot

来自分类Dev

R-ggplot2-geom_area-删除geom_line下颜色填充的中断

来自分类Dev

R-ggplot2 geom_line闪避