群里有这么一个问题:
请问用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)
根据数值绝对值设置透明度,模拟颜色饱和度。
ggplot(data, aes(x=x, y=y))
geom_point(aes(color=y>0, alpha=abs(y)))
scale_color_manual(values=c("blue","red"))