2013-10-22 59 views
1

我有一些數據如下:如何標記R中散點圖中的節點?

xlab ylab xval yval class 
1 2 6015 10500 3 
1 7 6015 9696 1 
3 5 6632 15626 3 
3 6 6632 6074 1 
3 5 6632 4189 2 
1 3 6015 6632 1 
1 5 6015 15626 1 

我想創建一個X上使用的散點圖,Y座標在XVAL利用yval列中指定。每個點根據列中的值進行着色。這部分我可以做如下:

<!-- language: lang-R --> 
data <- read.table(filename, header=TRUE); 
df <- data.frame(data["xval"], data["yval"], data["class"]); 
plot(xval, yval, col=c("red", "blue", "green")[class], 
main="Title here", 
xlab="Ox title", 
ylab="Oy title"); 

現在,我想有使用xlabylab列的(xlab,ylab)形式的每個節點的標籤。例如。第一個節點標記爲(1,2)。但是,我無法弄清楚如何去做。

有人可以告訴我如何給節點添加標籤嗎?我是R的新手,所以如果你能給我看示例代碼,我會非常感激。

with(df, plot(xval, yval, col=c("red", "blue", "green")[class], 
main="Title here", 
xlab="Ox title", 
ylab="Oy title")) 

with(df, text(xval, yval, sprintf("(%s, %s)", xlab, ylab))) 

我在這裏使用的衝刺,但你可以使用paste/paste0還有:

非常感謝,

回答

2

如下使用text功能。

+0

謝謝你的快速回應,泰勒。我只有一個小問題。如何調整標籤的字體和位置?如[這裏](http://picpaste.com/plot-ZITrfKL9.png)所示,我在節點周圍貼上了標籤。我希望標籤稍微小一些,並且位於節點上方。你介意那個部分嗎? – chepukha

+0

我明白了。我可以通過在文本()中更改xval和yval的值來更改位置,並使用cex = 0.7來減小字體大小。謝謝, – chepukha

+0

我想改變每個節點的默認符號。我剛剛瞭解到,我可以使用** pch = as.integer(class)**將** class **列中的值分配給pch。但是,我想要一些特定的值,例如pch = 15,17等。有沒有辦法改變輸入數據?你有什麼建議嗎? – chepukha