2013-10-25 3 views
0

내가 다음과 같습니다 데이터 집합이 있습니다X 축과 Y 축으로 연도가 R 인 선 그래프를 수로 표시하는 방법은 무엇입니까?

Year AL AK AZ AR CA CO 
1993 135 153 113 157 718 516 
1994 218 154 184 185 845 465 
1995 482 846 683 682 863 863

내가 x 축이 올해 그래서, 시간이 지남에 선 그래프를 플롯 할을, y 축은 계수이며, 각 라인은 상태가 될 것입니다. X 축에 연도를 표시하려면 어떻게해야합니까?

나는이 실행 봤는데 : 내가 위에서 무엇을 제외하고

data <- read.csv("data.csv", header=T) 
plot(data$AL, type="l") 
par(new=T) 
plot(data$AK, type="l") 
..... 

는, x 축은 "인덱스"하지만 나는 해가되고 싶어요.

+1

'? matplot'이 유용 할 수 있습니다. 'matplot (x = df [, 1], y = df [, -1], type = "l")'을 시도해보십시오. 또한'? par'을 읽고 해결책을 찾기 위해 놀아 라. –

+0

질문에 대한 좁은 대답은'plot (data $ Year, data $ AL)'등을 사용해야한다는 것입니다. –

답변

2

시계열로 데이터를 치료하고, 용액을 매우 쉽게 제공 :

plot(time.series, main="Toy example", plot.type="single", col=1:6) 
:

enter image description here

당신이 다음 하나의 패널을 원하는 경우 생산

df <- read.table(text="Year AL AK AZ AR CA CO 
1993 135 153 113 157 718 516 
1994 218 154 184 185 845 465 
1995 482 846 683 682 863 863", header=T) 

time.series <- ts(df[, -1], start=1993, end=1995) 

plot(time.series, main="Toy example") 

하는

enter image description here

플롯에 범례를 넣는 방법을 알고 싶다면 ?legend을 읽어보십시오.

+0

감사합니다. 흠. 나는 하나의 플롯을 만들 수 있지만 다중 패널은 플롯 (x = x, y = y ...)에서 10 개의 시리즈를 "다중"으로 플롯 할 수 없습니다. 실제 데이터 세트는 50 개 상태 + DC and start is 1993 끝은 2009입니다. 무슨 일이 있습니까? –

+0

아무 문제가 없습니다. 다중 패널을 사용하여 10 개 이상의 시리즈를 플로팅 할 수 없습니다. 그게 오류 메시지입니다. –

2

데이터를 곧바로 zoo 개체로 읽으려고 시도 할 수도 있습니다.이 개체는 플롯 될 수 있습니다.

library(zoo) 

z1 <- read.zoo(text = "Year AL AK AZ AR CA CO 
1993 135 153 113 157 718 516 
1994 218 154 184 185 845 465 
1995 482 846 683 682 863 863", header = TRUE) 

plot(z1, xlab = "Year") 

enter image description here

같은 패널의 모든 라인을 플롯하려면 plot(z1, plot.type = "single", col = 1:6)를 사용합니다.