2010-08-23 260 views
3

试图做一个xy散点图,z值用xy点的颜色表示。R 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值是彩色的点。

+2

您好扎克,下次您创建一个示例时,只需使用dput(yourdata.frame)来显示您的示例数据。 – 2010-08-23 20:47:51

回答

4

这是一些使用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上付出的代价。如果您不知道软件包和文档,请确保检查它。该文档很容易理解和强大!

+0

呃。有没有办法比德克快,并提供一个很好的答案,少击键...但尝试ggplot2无论如何:) – 2010-08-23 21:01:43

4

所以设置颜色参数:

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

不过,请注意颜色是整数值。

+0

是否为图中的点着色,但是我的z值从0-100变为0,它看起来像静态...关闭尝试ggplot2。 – Zac 2010-08-23 21:39:32

+1

你可以随时缩放它们,或者使用'cut()'来分组。 – 2010-08-23 21:44:57

+0

可以使用RColorBrewer将浮动转换为一些不错的调色板。 – mbq 2010-08-23 22:30:08

-1

德克的回答一样,使用方法:

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

你可以,当然,使用其他颜色方案。看到?heat.colors

+0

这似乎工作得很好,肯定比ggplot简单,但ggplot看起来更漂亮。 :-) – Zac 2010-08-24 22:37:18