我有一个如下所示的数据集:
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轴是“索引”,但我希望它是年份。
答案 0 :(得分:2)
将您的数据视为时间序列,解决方案非常简单:
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")
产生
如果您想要一个面板,那么:
plot(time.series, main="Toy example", plot.type="single", col=1:6)
您可能需要阅读?legend
以了解如何将图例放在图上。
答案 1 :(得分: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")
如果要在同一面板中绘制所有线条,请使用plot(z1, plot.type = "single", col = 1:6)
。