ggplot2绘图如何根据一个变量即区分颜色又区分深浅?

2022-01-18 20:59:11 浏览数 (1)

群里有这么一个问题:

请问用ggplot2绘制气泡图的时候,根据数字的正负设置红蓝两种颜色,根据数字的大小可以设置颜色的深浅吗?如何实现?可以用哪个函数,谢谢大家

先构造一个正弦曲线数据集,数值有正有负。

代码语言:javascript复制
x <- seq(0,2*pi,0.05)
y <- sin(x)
data <- data.frame(X=x,y=y)

library(ggplot2)

ggplot(data, aes(x=x, y=y))   geom_point()

怎么来设置颜色呢?color=y>0: 根据正负设置颜色(0这里归类为负);alpha=abs(y)根据数值绝对值设置透明度,模拟颜色饱和度。

代码语言:javascript复制
ggplot(data, aes(x=x, y=y))   
  geom_point(aes(color=y>0, alpha=abs(y)))   
  scale_color_manual(values=c("blue","red"))

0 人点赞