2010-08-23 264 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