程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何为散点图对角线的选定部分着色?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何为散点图对角线的选定部分着色??

开发过程中遇到如何为散点图对角线的选定部分着色?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何为散点图对角线的选定部分着色?的解决方法建议,希望对你解决如何为散点图对角线的选定部分着色?有所启发或帮助;

我正在尝试选择对角线内的点,但如果您查看该图,它也会选择对角线下方的点。

IBD$color <- ifelse((IBD$Z0 < 0.5 &
                       IBD$Z0 > 0.10 &
                       IBD$Z1 < 0.9 &
                       IBD$Z1 > 0.5),"OK","BAD")

我想用蓝色绘制点而不选择对角线下方的点。在此处选择 IBD$color 的正确方法是什么?

ggplot(IBD,aes(x=Z0,y=Z1))+ geom_point(aes(color=color)) + ggtitle("Replication dataset - 2441") 

如何为散点图对角线的选定部分着色?

解决方法

我相信您的建议应该是三种颜色:蓝色/红色表示好/坏,也许灰色表示不在对角线上或附近的点。为此,我建议您的 ifelse 也应该更复杂一些,以包含与对角线的“距离”。

这里有一些假数据来模仿你的情节:

## generate fake data
set.seed(42)
dat <- data.frame(Z0=runif(10000),Z1=runif(10000))
dat <- dat[(dat$Z0 + dat$Z1) < 1,]

## your processing picks up here
dat$COLOR <- with(dat,ifelse((Z1 + Z0) < 0.95,"Boring",ifelse(0.1 < Z0 & Z0 < 0.5 & 0.5 < Z1 & Z1 < 0.9,"OK","Bad")))
ggplot(dat,aes(Z0,Z1)) +
  geom_point(aes(color = COLOR)) +
  scale_color_manual(values = c(Boring="gray",OK="blue",Bad="red"))

如何为散点图对角线的选定部分着色?

如果你想控制COLOR图例的顺序(默认会按字母顺序排序),那么你可能需要使用factors,也许

dat$COLOR <- factor(dat$COLOR,levels = c("OK","Bad","Boring"))

在绘图之前。

如果您使用 dplyr,使用 case_when 来管理处理(和分解)可能更简单,也许:

library(dplyr)
dat %>%
  mutate(
    COLOR = case_when(
      (Z1 + Z0) < 0.95 ~ "Boring",between(Z0,0.1,0.5) & between(Z1,0.5,0.9) ~ "OK",TRUE ~ "Bad"),COLOR = factor(COLOR,"Boring"))
  ) %>%
  ggplot(aes(Z0,Bad="red"))

结合了 between(.)case_when易用性。 (请注意,between 使用 封闭 结束,因此这实际上等同于 0.1 <= Z0 & Z0 <= 0.5 等)

大佬总结

以上是大佬教程为你收集整理的如何为散点图对角线的选定部分着色?全部内容,希望文章能够帮你解决如何为散点图对角线的选定部分着色?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。