我有一个不断变化的 df 并且我正在对不同的值进行分组c
。
使用 ggplot2,我使用以下代码绘制它们,以获得具有多个线性回归线(geom_smooth)的散点图
ggplot(aes(x = a, y = b, group = c)) +
geom_point(shape = 1, aes(color = c), alpha = alpha) +
geom_smooth(method = "lm", aes(group = c, color = c), se = F)
现在我想在图中的每条 geom_smooth 线上显示label
与value
of the group c
。
这必须是动态的,因为当我的 df 更改时我无法编写新代码。
示例:我的df
看起来像这样
a b c
----------------
1.6 24 100
-1.4 43 50
1 28 100
4.3 11 50
-3.45 5.2 50
所以在这种情况下,我会在图中得到 3 条具有不同颜色的 geom_smooth 线。
现在我只想向图中添加一个文本标签"100"
旁边的 geom_smooth 与组c = 100
和一个文本标签"50"
到团体线路c = 50
等等...随着 df 中引入新组,将绘制新的 geom_smooth 线并需要进行标记。
该情节的整个代码:
ggplot(aes(x = a, y = b, group = c), data = df, na.rm = TRUE) +
geom_point(aes(color = GG, size = factor(c)), alpha=0.3) +
scale_x_continuous(limits = c(-200,2300))+
scale_y_continuous(limits = c(-1.8,1.5))+
geom_hline(yintercept=0, size=0.4, color="black") +
scale_color_distiller(palette="YlGnBu", na.value="white") +
geom_smooth(method = "lm", aes(group = factor(GG), color = GG), se = F) +
geom_label_repel(data = labelInfo, aes(x= max, y = predAtMax, label = label, color = label))