【问题标题】:R xy scatter plot marker colorR xy 散点图标记颜色
【发布时间】:2010-08-23 20:41:56
【问题描述】:

尝试用 xy 点的颜色表示 z 值的 xy 散点图。

数据:

1.1, 32.27, 19.4  
1.2, 21.34, 18  
1.4, 47.45, 19.4

R 代码:

 inp <- scan("beps.txt",list(x=0,y=0,z=0))  
 plot(inp$x, inp$y,pch=".")

创建一个很好的散点图,但我希望这些点按 Z 值着色。

【问题讨论】:

  • 嗨 Zac,下次创建示例时,只需使用 dput(yourdata.frame) 来显示示例数据。

标签: r plot


【解决方案1】:

这是一些使用 ggplot2 的可重现示例。如果我理解正确,我应该做你想做的。

library(ggplot2)

a = c(1.1, 32.27, 19.4)
b = c(1.2, 21.34, 18)
c = c(1.4, 47.45, 19.4)


df=as.data.frame(rbind(a,b,c))
names(df) = c("x","y","z")
df

p <- ggplot(df, aes(x,y,colour=z)) +geom_point()

一般来说,我强烈 recommend ggplot2 这样的东西。真的值得多学习一点。我仍然处于这个过程的中间,并意识到在 ggplot2 上投入一些时间是多么值得。如果您不知道软件包和文档,请确保检查它。文档通俗易懂,功能强大!

【讨论】:

  • 嗯。没有办法比 Dirk 更快并以更少的击键提供一个好的答案......但无论如何尝试 ggplot2 :)
【解决方案2】:

所以设置颜色参数:

 plot(inp$x, inp$y, pch=".", col=inp$z)

请注意,颜色是整数值。

【讨论】:

  • 确实为图中的点着色,但我的 z 值从 0 到 100 变化,看起来像静态的...关闭尝试 ggplot2。
  • 您可以随时缩放它们,或使用cut() 进行分组。
  • 可以使用 RColorBrewer 将浮点数转换为一些漂亮的调色板。
  • 并非如此。 RColorBrewer 定义了调色板,它与缩放无关。
【解决方案3】:

类似于 Dirk 的回答,使用:

plot(inp$x, inp$y, pch=".", col= heat.colors(30)[inp$z] )

当然,您可以使用其他配色方案。见 ?heat.colors

【讨论】:

  • 这似乎也可以,而且肯定比 ggplot 更简单,但 ggplot 看起来更漂亮。 :-)
猜你喜欢
  • 2018-07-31
  • 1970-01-01
  • 2016-05-04
  • 2015-04-17
  • 1970-01-01
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多