gpt4 book ai didi

r - 在一个 ggplot 上使用两个比例颜色渐变

转载 作者:行者123 更新时间:2023-12-04 08:45:33 29 4
gpt4 key购买 nike

我想将散点图上的点的色阶渐变与图中某些文本的色阶渐变组合在一起。我可以如下面的示例所示分别执行它们,但我似乎无法将它们放在一起……有没有办法做到这一点?

这是我想要组合的两种类型的图(p 和 p1)的示例代码

l <- data.frame(prev=rnorm(1266), 
aft=rnorm(1266),
day=as.factor(wday(sample(c(2:6),1266,replace=TRUE),abbr=TRUE, label=TRUE)),
month=as.factor(month(Sys.Date()+months(sample(0:11,1266,replace=TRUE)),abbr=TRUE, label=TRUE)),
ind=c(1:1266))
cors <- ddply(l, c("month", "day"), summarise, cor = round(cor(prev, aft), 3))


# below the text gains the colour gradient
p <- ggplot(l, aes(x=prev, y=aft)) +
geom_point() +
scale_colour_gradient(low = "red", high="blue")+
facet_grid(day~month, scales="free_x")+
geom_text(data=cors,aes(label=paste("r= ",cor,sep=""), size=abs(cor), colour=cor), x=Inf, y=Inf, vjust=1, hjust=1, show_guide=FALSE)+
geom_hline(aes(yintercept=0))+
geom_smooth(method="loess")
p

# below the points gain the colour gradient
p1 <- ggplot(l, aes(x=prev, y=aft)) +
geom_point(aes(colour=ind)) +
scale_colour_gradient("gray")+
facet_grid(day~month, scales="free_x")+
geom_text(data=cors,aes(label=paste("r= ",cor,sep=""), size=abs(cor), colour=cor), x=Inf, y=Inf, vjust=1, hjust=1, show_guide=FALSE)+
geom_hline(aes(yintercept=0))+
opts(legend.position="none") +
geom_smooth(method="loess")

p1

最佳答案

我不指望这可以做到。一个情节每个美学只有一个尺度。我相信如果添加多个scale_color的,第二个将覆盖第一个。我认为哈德利是故意创造这种行为的,在一个图中从数据到图中比例的映射,例如颜色,是独一无二的。这确保可以轻松比较图中的所有颜色,因为它们共享相同的 scale_color .

关于r - 在一个 ggplot 上使用两个比例颜色渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11752709/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com