首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Viridis和ggplot2/g边际

Viridis和ggplot2/g边际
EN

Stack Overflow用户
提问于 2019-06-19 20:21:17
回答 1查看 64关注 0票数 0

我在ggplot2ggmarginal中使用viridis时遇到了一个问题。

我想给我用ggplot2绘制的一个布兰德-阿尔特曼图上的点加颜色:

代码语言:javascript
复制
diff <- (a1$A1_phones - a1$A1_video)
diffp <- (a1$A1_phones - a1$A1_video)/a1$A1_video*100
sd.diff <- sd(diff)
sd.diffp <- sd(diffp)
my.data <- data.frame(a1$A1_video, a1$A1_phones, diff, diffp)

dev.off()

diffplot <- ggplot(my.data, aes(a1$A1_video, diff)) + 
geom_point(size=2, colour = rgb(0,0,0, alpha = 0.5)) + 
theme_bw() + 
#when the +/- 2SD lines will fall outside the default plot limits 
#Thanks to commenter for noticing this.
ylim(mean(my.data$diff) - 7*sd.diff, mean(my.data$diff) + 7*sd.diff) +
geom_hline(yintercept = 0, linetype = 3) +
geom_hline(yintercept = mean(my.data$diff)) +
geom_hline(yintercept = mean(my.data$diff) + 2*sd.diff, linetype = 2) +
geom_hline(yintercept = mean(my.data$diff) - 2*sd.diff, linetype = 2) +
ylab("Difference Video vs Algorithm [ms]") +
xlab("Average of Video vs Algorithm [ms]")

p<-ggMarginal(diffplot, type="histogram", bins = 40)+ scale_colour_viridis_d()

现在,将A1_video中的点与A1_phones中的点进行不同的着色,并让viridis绘制连续的密度图,这将是非常漂亮的。

EN

回答 1

Stack Overflow用户

发布于 2019-06-19 21:47:49

我不确定这是否是您想要的,请尝试更具体,并提供示例数据。如果只希望颜色根据源数据集中的另一列更改,则必须在aes()函数中指定:

代码语言:javascript
复制
diffplot <- ggplot(my.data,aes(col=a1$A1_video))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56667508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档