如何在R中绘制线图,以x为轴,y轴为数?

时间:2013-10-25 16:57:39

标签: r plot dataset import-from-csv

我有一个如下所示的数据集:

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轴是“索引”,但我希望它是年份。

2 个答案:

答案 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")

产生

enter image description here

如果您想要一个面板,那么:

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

enter image description here

您可能需要阅读?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")

enter image description here

如果要在同一面板中绘制所有线条,请使用plot(z1, plot.type = "single", col = 1:6)