2013-10-22 2 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

나는 그것을 얻었다. text()에서 xval 및 yval 값을 변경하여 위치를 변경할 수 있으며 예를 들어 cex = 0.7을 사용하여 글꼴 크기를 줄일 수 있습니다. 고마워, – chepukha

+0

각 노드의 기본 기호를 변경하고 싶습니다. 방금 ** pch = as.integer (클래스) **를 사용하여 ** class ** 열의 값을 pch에 할당 할 수 있음을 알게되었습니다. 그러나 pch = 15, 17 등의 특정 값을 원합니다. 입력 데이터를 변경하지 않고도이를 수행 할 수 있습니까? 어떤 제안이 있으십니까? – chepukha

관련 문제