问题描述
在R里面做散点图,可以利用scale_color_gradient('title', low = "gray", high = "blue")等函数进行渐变着色,而此时如果散点中有多部分,想要区分点的来源,可以利用shape等特性进行标识,但是当点比较多时,形状不如颜色更容易区别,所以想到分别用不同的颜色范围去着色。
解决方案
利用R包ggnewscale中的函数new_scale即可。
示例代码如下:
p <- ggplot() +
geom_point(data=subset(plot.df,source=='T1'),
mapping=aes(x1, x2, color=subset(plot.df.correct,source=='T1')[['value']]),
size = 0.5,alpha=0.7) +
scale_color_gradient('set1', low = "#cfd3ed", high = "#4954c1") +
new_scale("color") +
geom_point(data=subset(plot.df,source=='T2'),
mapping=aes(x1, x2, color=subset(plot.df.correct,source=='T2')[['value']]),
size = 0.5,alpha=1) +
scale_color_gradient('set2', low = "#ede9cf", high = "#c1b649")
实现效果

参考
https://eliocamp.github.io/codigo-r/2018/09/multiple-color-fill-scales-ggplot2/
本文介绍了如何在R的ggplot2中为不同部分的散点使用不同的颜色渐变进行着色。当散点较多且需要区分来源时,颜色比形状更便于区分。通过示例代码展示了实现这一效果的方法。

1069

被折叠的 条评论
为什么被折叠?



