2014-12-27 7 views
-1

R (ggplot2)을 사용하여 그림을 그립니다. 여기 my.data 이미지 2.하나의 줄 플롯을 여러 개 만드는 방법

같은 선 그래프를 가지고 싶습니다

B50K,B50K+1000C50K,B50K+2000C50K,B50K+4000C50K,B50K+8000C50K,gen,xaxile 
0.3795,0.4192,0.4675,0.5357,0.6217,T18-Yield,B50K 
0.3178,0.3758,0.4249,0.5010,0.5870,T20-Yield,B50K+1000C50K 
0.2795,0.3266,0.3763,0.4636,0.5583,T21-Yield,B50K+2000C50K 
0.2417,0.2599,0.2898,0.3291,0.3736,T18-Fertility,B50K+4000C50K 
0.2002,0.2287,0.2531,0.2962,0.3485,T19-Fertility,B50K+8000C50K 
0.1642,0.1911,0.2151,0.2544,0.2951,T20-Fertility 

는 *** -> 구분 기호가 ",". 그런데 도움이되거나 유용 할 유용한 .r 스크립트가 없습니다.

그림은 Microsoft에서 내 그림을 보여줍니다.

enter image description here

내가 인터넷하지만 그들 중 비 통해 여러 스크립트를 시도했다가 일을하지 않았습니다.

.r 스크립트를 사용하여 img1과 같은 데이터 파일을 읽고 일러스트레이션 된 그림과 같은 데이터를 플로팅 해 주시기 바랍니다.

+1

이미지 링크가 아닌 텍스트 *로 데이터 파일을 붙여 넣기 위해 질문을 편집 할 수있는 기회가 있습니까? 또는 더 나은, 완전히 재현 할 수있는 예제 게시? –

+0

데이터를 공유하는 한 가지 방법은'dput'을 사용하는 것입니다. 데이터의 처음 20 행을 주려면'dput (yourdata [1:20,])'결과를 게시하십시오. 플롯을 만들려고 시도한 코드를 공유 할 수 있다면 좋을 것입니다. 감사합니다 – user20650

+0

친애하는 벤과 user20650, 내 게시물은 ","내 데이터 및 대체 탭 구분 기호를 가져 와서 편집되었습니다. 어떤 도움을 주시면 감사하겠습니다. – user1677032

답변

1

트릭은 색상 및 선 종류를 gen에 쉽게 매핑 할 수 있도록 데이터 (reshape2 패키지의 melt 사용)를 재구성하는 것입니다.

# Your data - note i also added an extra comma after the fifth column in row 6. 
# It would be easier if you gave data using dput as described in comments above - thanks 
dat <- read.table(text="B50K,B50K+1000C50K,B50K+2000C50K,B50K+4000C50K,B50K+8000C50K,xaxile,gen 
0.3795,0.4192,0.4675,0.5357,0.6217,B50K,T18-Yield 
0.3178,0.3758,0.4249,0.5010,0.5870,B50K+1000C50K,T20-Yield 
0.2795,0.3266,0.3763,0.4636,0.5583,B50K+2000C50K,T21-Yield 
0.2417,0.2599,0.2898,0.3291,0.3736,B50K+4000C50K,T18-Fertility 
0.2002,0.2287,0.2531,0.2962,0.3485,B50K+8000C50K,T19-Fertility 
0.1642,0.1911,0.2151,0.2544,0.2951,,T20-Fertility", 
header=T, sep=",", na.strings="") 

# load the pckages you need 
library(ggplot2) 
library(reshape2) 

# assume xaxile column is unneeded? - did you add this column yourself? 
dat$xaxile <- NULL 

# reshape data for plotting 
dat.m <- melt(dat) 

# plot 
ggplot(dat.m, aes(x=variable, y=value, colour=gen, 
        shape=gen, linetype=gen, group=gen)) + 
        geom_point() + 
        geom_line() 

그런 다음 수동으로 줄거리가보고 싶어 방법을 지정할 수 scale_linetype_manualscale_shape_manual를 사용할 수 있습니다. This post이 도움이 될 것입니다. 그러나 많은 사람들이 있습니다.

+0

감사합니다 사용자 20650. 대단하며 오늘을 저장하십시오! 그것은 내가 바라는 그림과 정확히 같습니다. 질문 : 그림에서 "gen"요소의 순서는 데이터 세트와 다릅니다. 그림의 데이터 세트로 유지할 수 있습니까? – user1677032

+1

오신 것을 환영합니다. 'gen'의 'factor'레벨의 순서를 살펴보십시오. '수준 (dat.m $ gen)'. 플롯하기 전에 '? factor'명령을 사용하여 순서를 변경합니다. dat.m $ gen <- factor (dat.m $ gen, levels = unique (dat $ gen), labels = unique (dat $ gen))' 원본 데이터에 나타나는 순서를 얻으십시오. (수동으로 레벨과 라벨을 입력 할 수 있습니다. 조금 안전하고 투명하므로 조금만하면됩니다) – user20650

+2

@ user1677032 답변이 도움이된다면 답을 수락하시면 감사하겠습니다. 이것은 향후 독자들에게 솔루션의 가치에 대한 단서를 제공 할 것입니다. 이 도움말 페이지를 참조하십시오 : [누군가 내 질문에 대답하면 어떻게해야합니까?] (http : // stackoverflow.com/help/someone-answers) – Jaap

관련 문제