2016-07-15 2 views
0

ggplot2을 사용하여 플로팅에 관한 몇 가지 질문이 있습니다. 어떻게 데이터 포인트를 연결하는 연속 선을 그어야해야하며, 어떻게 users >40에 대한 데이터 포인트 주위에 동그라미 않습니다 는 이미 ggplot2를 사용하여 조건 적으로 데이터 플롯 둘러보기

library(ggplot2) 
df <- read.csv(file="c:\\query2.csv") 
ggplot(df,aes(x = Time,y ,y = users,colour = users>40)) + geom_point() 

내 질문은 R.

를 사용하여 색상 데이터 포인트에 명령 아래 사용했다?

+1

재현 가능한 예가 있습니까? 'ggalt' 패키지의 Github 버전의'geom_encircle'가 도움이 될 수 있습니다 : https://github.com/hrbrmstr/ggalt/blob/master/man/geom_encircle.Rd –

답변

3

포인트를 연결하려면 geom_line을 사용하십시오 (필요한 것이 무엇인지 알려주지 못하면 수행하려는 것을 설명하십시오).

나는 geom_encircle을 사용하지 않았지만 다른 옵션은 채우기가 삭제 된 채우기 마커를 사용하여 원을 만드는 것입니다. 다음 그림의 내장 mtcars 데이터 프레임을 사용하여 예입니다 :

ggplot(mtcars, aes(wt, mpg)) + 
    geom_point() + 
    geom_point(data=mtcars[mtcars$mpg>30,], 
      pch=21, fill=NA, size=4, colour="red", stroke=1) + 
    theme_bw() 

pch=21가 작성 마커 (사용 가능한 다른 표식에 대한 추가 정보를 원하시면 ?pch 참조) 중 하나입니다. 채우기를 제거하기 위해 fill=NA을 설정합니다. stroke은 원 테두리의 두께를 설정합니다.

enter image description here

UPDATE : 위의 예제를 사용하여,이 차트에 선을 추가하려면 :

ggplot(mtcars, aes(wt, mpg)) + 
    geom_line() + 
    geom_point() + 
    geom_point(data=mtcars[mtcars$mpg>30,], 
      pch=21, fill=NA, size=4, colour="red", stroke=1) + 
    theme_bw() 

그러나 (이 그래프에 대한 내 원래의 코드와 같이) 당신이 aes를 넣어 경우 문을 ggplot에 대한 초기 호출이 아닌 geom 안에 포함하면 안에 aes 문을 포함해야합니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 나는 아래 명령을 시도했다 .gplpl (df) + geom_point (aes (df $ Time, df $ Users)) + geom_point (data = df [df $ Users> 20], aes (df $ Time, df $ Users) , pch = 21, fill = NA, size = 4, color = "red", stroke = 1). 그러나이 오류는 "[.data.frame' (df, df $ Users> 20) : 정의되지 않은 열을 선택했습니다 ". CSV 파일에서 사용자 열이 거기에 있으며 조건없이 그래프를 생성 할 수 있습니다. data = df [df $ Users> 20]. –

+1

쉼표가 누락되었습니다. 'data = df [df $ Users> 20,]'이어야합니다. – eipi10

+1

데이터 프레임의'df [,]'표기법에서 쉼표 앞의 표현식은 행 선택을 참조합니다. 쉼표 다음의 표현식은 열 선택을 참조합니다 (쉼표 뒤에 아무 것도없는 경우 모든 열이 포함됩니다). 그러나 코드에서와 같이 쉼표없이 표현식을 사용하면 R은 데이터 선택 항목이 특수한 종류의'list '이고 이는'list'의 요소를 선택하는 한 가지 방법이기 때문에 이것이 열 선택을 참조한다고 가정합니다. . 'df $ Users> 20'은 데이터의 컬럼 수보다 긴 논리 벡터를 생성합니다. 존재하지 않는 열을 참조하므로 오류가 발생합니다. – eipi10

관련 문제