Plot multiples (time) series in R with legend

后端 未结 4 1690
南旧
南旧 2021-02-06 05:30

\"enter

According to my datas (cf. picture) called GDP. I would like to know how to plot a

4条回答
  •  无人共我
    2021-02-06 06:13

    What about this...?

    > set.seed(1)
    > DF <- data.frame(2000:2009,matrix(rnorm(50, 1000, 200), ncol=5))
    > colnames(DF) <- c('Year', paste0('Country', 2:ncol(DF)))
    > DF # this is how the data.frame looks like:
       Year  Country2  Country3  Country4  Country5  Country6
    1  2000  874.7092 1302.3562 1183.7955 1271.7359  967.0953
    2  2001 1036.7287 1077.9686 1156.4273  979.4425  949.3277
    3  2002  832.8743  875.7519 1014.9130 1077.5343 1139.3927
    4  2003 1319.0562  557.0600  602.1297  989.2390 1111.3326
    5  2004 1065.9016 1224.9862 1123.9651  724.5881  862.2489
    6  2005  835.9063  991.0133  988.7743  917.0011  858.5010
    7  2006 1097.4858  996.7619  968.8409  921.1420 1072.9164
    8  2007 1147.6649 1188.7672  705.8495  988.1373 1153.7066
    9  2008 1115.1563 1164.2442  904.3700 1220.0051  977.5308
    10 2009  938.9223 1118.7803 1083.5883 1152.6351 1176.2215
    > matplot(DF[,-1], col=1:ncol(DF), type='l', lty=1, ylim=range(DF), axes=FALSE)
    > axis(1, 1:nrow(DF), as.character(DF[,1]))
    > axis(2)
    > box() #- to make it look "as usual"
    > legend('topright', names(DF), col=1:ncol(DF), lty=1, cex=.65)
    

    enter image description here

提交回复
热议问题