【问题标题】:Coloring scatter plot in terms of an intensity in R根据 R 中的强度着色散点图
【发布时间】:2018-09-22 22:56:55
【问题描述】:

我们想用X1,X2,X3,X4,X5 来解释一个连续变量 Y(从 0/20 到 20/20 的连续等级)。

在绘制YX1 时,我想根据(X1+X2+X3+X4+X5)/5 的均值对点进行着色,以查看X1 中不好的候选人是否在全球范围内都不好。

所以,mean,从 0 到 20 不等,对于拥有的人来说,将是血红色并逐渐变为鲜绿色(并在图例中指出这一点)。一个人怎么能做到这一点?

这是我通常绘制散点图的方式:

scatter.smooth(x=data$X1, y=data$Y1, main="Y1 ~ X1", xlab="X1", ylab="Y1")

更好的是,每个点都根据其 X1 值着色,并在其周围有一个彩色“环”,对应于其平均值的颜色。

【问题讨论】:

标签: r scatter-plot


【解决方案1】:

如果你对ggplot没有异议,它会让这些事情变得简单。

通过连续变量aes(color=myvar) 进行着色,具有您想要的直接开箱即用的行为。

使用+scale_color_gradient(low='red', high='green')自定义颜色

要制作环,请绘制两组点:第一个以环颜色大小为 3(或其他)的点,然后用大小为 1 的点为中心点点。

【讨论】:

  • 谢谢。真的很有帮助。我还有一个问题: myvar 是平均值。但我拥有的最坏的意思是 6 左右。我希望颜色从 0 开始,而不是 6(并在 20 结束)。我该怎么做?
  • 我认为您可以将 limits=c(0,20) 作为参数传递给 scale_color_gradient。
  • 你知道如何使用 ggplot 添加一层点以便将你的想法用于环吗?
  • 您将 +geom_point() 两次,并在每个中传递 aes() 以赋予它们不同的颜色。它们按照您添加它们的顺序分层。如果您编辑问题以包含玩具数据集,我可以向您展示,但我不想猜测您的数据是什么样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-07
  • 2013-04-06
  • 2018-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多