r - 为 geom_point 和 geom_line 创建不同的配色方案:ggplot2
问题描述
我正在尝试使用包含 geom_smooth 和 geom_point 的 ggplot2 创建一个绘图。由于我想查看线的斜率以及它如何随时间变化,我想将 geom_smooth 线着色为一种颜色(时间点),并将点着色为不同的颜色(按绘图)。我尝试了各种不同的东西,但都失败了。包括我在 stackoverflow 上找到的一些选项。
我的代码如下:
##Edited code to show as of 7/28
ggplot(data, aes(x = InitialAshDepth, y = S.obs, color =TimePoint)) +
geom_point(size = 3.5, aes(fill = Plot))+
geom_smooth(method = "lm", alpha=0.15, aes(color = TimePoint)) +
#geom_smooth( method=lm, alpha=0.15,aes(group = TimePoint,
color=TimePoint))+
scale_color_manual(values = TP) +
theme_bw()
有人可以让我知道如何实现这一目标,或者这是否可能?
请注意,我尝试过分组依据和颜色依据或两者的组合(当我将两者结合时,我收到错误消息,指出我需要 700 多种颜色)?
这是我创建的图表,但点的颜色与 geom_smooth 线没有不同。抱歉,我不允许嵌入图片,但请查看链接。
这是我正在使用的列的数据示例。这里我只显示三个时间点只是为了节省空间,但我实际上有 9 个时间点。请查看图像,因为我复制和粘贴时数据会失真。
样本数据:
Plot TimePoint Treatment SpeciesRichness
1 TP1 Burned 88
1 TP2 Burned 66
1 TP3 Burned 60
2 TP1 Burned 119
2 TP2 Burned 55
2 TP3 Burned 44
3 TP1 Burned 35
3 TP2 Burned 34
3 TP3 Burned 22
4 TP1 Burned 63
4 TP2 Burned 49
4 TP3 Burned 9
5 TP1 Burned 26
5 TP2 Burned 35
5 TP3 Burned 66
6 TP1 Burned 21
6 TP2 Burned 85
6 TP3 Burned 65
7 TP1 Unburned 57
7 TP2 Unburned 169
7 TP3 Unburned 110
8 TP1 Unburned 166
8 TP2 Unburned 180
8 TP3 Unburned 114
9 TP1 Unburned 270
9 TP2 Unburned 194
9 TP3 Unburned 328
解决方案
我想我可能刚刚想通了。如果其他人需要,这是代码。我确实需要更新问题,但我不知道该怎么做。它是 geom_smooth 而不是 geom_line 但似乎代码对两者都适用。
#创建你想要的配色方案......................................................
colorTP<-c("#65000b","#a50F15","#EF3B2C","#FC9272","#FCBBA1","#fac2e3","#001499","#0a2bff","#9acfe4")
colorPlot<-c("#40271f","#5e4839","#947f70","#c49f68","#bfb3aa","#ebddc7","#235978","#45877f","#aed4ca")
#Code to create plot--- 其中 MetaRare 是您正在使用的数据 ------
geom_smooth(method = "lm", alpha = .15, aes(color=TimePoint)) +
geom_point(aes(fill=factor(Plot)), size=4, shape=21, stroke=0) +
scale_fill_manual(values=colorPlot) +
scale_colour_manual(values=colorTP) +
theme_classic() +
labs(fill="Plot", colour="Time Point ")```
推荐阅读
- android - 计费库 - 测试不同国家/地区的 InApp 订阅
- laravel - Laravel 关系搜索
- r - 如何选择比较具有相同值的多列的行?
- html - 如何创建一个可变高度表,其中每个单元格都包含一个输入字段?
- php - 在寡妇和 php 8 上调用未定义的函数 pspell_new()
- javascript - 允许在 href 中使用自定义协议
- git - Bring Git branch to state of commit in other branch
- sql - Postgres jsonb_build_object 为空行返回空而不是空
- swift - 创建自定义框架和 xcframework 时出错
- python - 多元回归,用多个自变量重塑输入