2017-04-20 15 views
1

좋아요. 그렇기 때문에 나는 2 개의 변수 X와 Y와 ID 변수를 가진 데이터 세트를 가지고 있습니다. 이 같은 플롯을 생산단일 플롯 포인트로 ggrepel 사용하기/레이블과 포인트 사이에 라인 추가하기

ggplot(data = X_Y) + 
    geom_point(mapping = aes(x = X, y = Y))+ 
    geom_text_repel(mapping = aes(x = X, y = Y, label = ID))+ 
    xlim(0,100)+ 
    ylim(0,100) 

:이 코드를 사용하여 전체 플롯을 만든 enter image description here

지금은 한 번에 하나의 데이터 포인트를 보여주는 별도의 플롯의 숫자를 생성 할

그들의 라벨. 이제

난 그냥 사용 격퇴없이 geom_label이 얻을 수있는 레이블을 슬쩍 찌르다 수 있습니다 :이 도표는 괜찮 enter image description here

동안 어떻게 같은 점에 레이블을 연결하는 선을 유지 할 수있는 방법이 있다면, 궁금 해서요

0,123,516 : ggrepel는

처음 제안에서

편집

, 나는 다음과 같은 그래프를 얻을 선택한 단 하나의 케이스 격퇴를 사용하려고 할 때 ...하지

이 그것을 알아 냈
ggplot(data = X_Y) + 
    geom_point(aes(x = X[4], y = Y[4]))+ 
    geom_label_repel(aes(x = X[4], y = Y[4]), 
        label = "You are here", 
        min.segment.length = unit(0, 'lines'), 
        nudge_y = 6)+ 
    labs(x = "X",y = "Y",title = "mytitle")+ 
    scale_x_continuous(limits = c(0, 100)) + 
    scale_y_continuous(limits = c(0, 100)) 

enter image description here

를 해결! X 및 Y 변수 만 관심있는 행으로 제한하려면 ggplot()에서 데이터를 지정해야합니다. 이처럼

:

ggplot(data = X_Y[4,c(3,4)) + 
    geom_point(aes(x = X, y = Y))+ 
    geom_label_repel(aes(x = X, y = Y), 
        label = "You are here", 
        min.segment.length = unit(0, 'lines'), 
        nudge_y = 6)+ 
    labs(x = "X",y = "Y",title = "mytitle")+ 
    scale_x_continuous(limits = c(0, 100)) + 
    scale_y_continuous(limits = c(0, 100)) 

답변

0

당신은 물론 아직 단 한 번의 포인트, geom_label_repel를 사용할 수 있습니다. 세그먼트가 그려지는지 확인하려면 min.segment.length arg를 조정하십시오. 이 인수는 unit(0, 'lines')로 설정하면 모든 세그먼트가 그려집니다 보장 세그먼트를 그립니다 레이블 점에서 최소 거리를 설정하십시오 repsonse에 대한


library(ggplot2) 
library(ggrepel) 

ggplot(data.frame(x = 2, y = 3)) + 
    geom_point(aes(x, y)) + 
    geom_label_repel(aes(x, y), 
        label = 'You are here', 
        min.segment.length = unit(0, 'lines'), 
        nudge_y = .2) + 
    scale_x_continuous(limits = c(0, 3)) + 
    scale_y_continuous(limits = c(0, 4)) 

+0

감사합니다! 그 일을 시도했지만 이상한 그래프가 나타납니다. 데이터 세트의 총 N에 대한 매핑 라벨이있는 것처럼 보입니다. 그러나 그 단일 포인트에서 .... 위의 질문을 편집했습니다 .... – Gerard

+0

그것을 알아 냈어! X 및 Y 변수 만 관심있는 행으로 제한하려면 ggplot()에서 데이터를 지정해야합니다. 그럼 그것은 흐른다 :) – Gerard