R作图代码如下:
lambdaL.mean <- read.table("~/Desktop/lambdaLmean.txt", header = TRUE)
colnames(lambdaL.mean)[-1] = rep(c('None', 'Macro', 'Specific', 'Macro+Specific'), 3)
SZKFT.CGWC = ts(lambdaL.mean[, 2:5],start = c(2005, 1), frequency = 4)
SZKFT.CGWC.df=fortify(SZKFT.CGWC)
colnames(SZKFT.CGWC.df)[1] = 'Time'
mdf <- melt(SZKFT.CGWC.df, id.vars="Time", value.name="value", variable.name="(SZKFT, CGWC)")
p1 <- ggplot(data=mdf, aes(x=Time, y=value, group = `(SZKFT, CGWC)`, colour = `(SZKFT, CGWC)`, linetype=`(SZKFT, CGWC)`)) +
geom_line(size = 0.8) + scale_linetype_manual(values=c("solid", "dotted", "dashed","dotdash"))+
ylim(0, 1) + labs(y = 'Tail dependence', x = '') +
theme(text = element_text(size=15)) +
scale_x_date(breaks = date_breaks("1 year"), date_labels = '%Y') +
scale_y_continuous(breaks = seq(0, 1, 0.2), limits = c(0, 1))
最后出现Error: Invalid input: date_trans works with objects of class Date only。求高手指教如何解决?问题应该出现在 scale_x_date(breaks = date_breaks("1 year"), date_labels = '%Y')中x的格式是numeric型,而不是date型。在数据中x是2005-2015年的季度时间数据。
SZKFT.CGWC数据是这样的:
None Macro Specific Macro+Specific
2005 Q1 0.02211597 0.19189611 0.7040021 0.7374448
2005 Q2 0.02211597 0.18324399 0.7473778 0.7259085
2005 Q3 0.02211597 0.16011910 0.8013734 0.7624320
2005 Q4 0.02211597 0.14992586 0.8215102 0.8256369
2006 Q1 0.02211597 0.14333501 0.6994550 0.7589217
2006 Q2 0.02211597 0.14166886 0.7621356 0.7892522
2006 Q3 0.02211597 0.14948757 0.8103058 0.8918239
2006 Q4 0.02211597 0.15915239 0.4604010 0.8937762
2007 Q1 0.02211597 0.18483971 0.9213929 0.7651955
2007 Q2 0.02211597 0.21324611 0.8418920 0.8626138
2007 Q3 0.02211597 0.26486168 0.8613103 0.8904199
2007 Q4 0.02211597 0.33533542 0.9271106 0.8620766
2008 Q1 0.02211597 0.55136356 0.6409828 0.7939757
2008 Q2 0.02211597 0.57175196 0.7271695 0.8569844
2008 Q3 0.02211597 0.56186502 0.7759897 0.8988046
2008 Q4 0.02211597 0.44695158 0.7299470 0.8920607
2009 Q1 0.02211597 0.11214118 0.6280275 0.7775797
2009 Q2 0.02211597 0.09989405 0.7208007 0.7657097
2009 Q3 0.02211597 0.09780843 0.7741944 0.7885731
2009 Q4 0.02211597 0.10044241 0.7470157 0.8622639
2010 Q1 0.02211597 0.15010331 0.6892128 0.7806755
2010 Q2 0.02211597 0.17092676 0.7788473 0.7715920
2010 Q3 0.02211597 0.18641968 0.7649795 0.8839648
2010 Q4 0.02211597 0.21110865 0.7694260 0.8656172
2011 Q1 0.02211597 0.35555165 0.6220401 0.7708149
2011 Q2 0.02211597 0.42507612 0.7458583 0.7849620
2011 Q3 0.02211597 0.50050310 0.7338277 0.7821526
2011 Q4 0.02211597 0.44040623 0.7408480 0.8553881
2012 Q1 0.02211597 0.32627666 0.6252439 0.7818508
2012 Q2 0.02211597 0.28128385 0.6287037 0.7823271
2012 Q3 0.02211597 0.22486276 0.5014512 0.7746102
2012 Q4 0.02211597 0.25476957 0.6878908 0.8551635
2013 Q1 0.02211597 0.22728933 0.5094095 0.7887073
2013 Q2 0.02211597 0.23492120 0.6790326 0.7896158
2013 Q3 0.02211597 0.24958727 0.7676272 0.7820155
2013 Q4 0.02211597 0.26537236 0.7240493 0.8589089
2014 Q1 0.02211597 0.26922630 0.4047507 0.7574110
2014 Q2 0.02211597 0.24255363 0.4983942 0.8002982
2014 Q3 0.02211597 0.26446114 0.6440186 0.7889649
2014 Q4 0.02211597 0.27593132 0.6997484 0.8822322
2015 Q1 0.02211597 0.24870816 0.6232874 0.7684148
2015 Q2 0.02211597 0.23223004 0.7055974 0.7677649
2015 Q3 0.02211597 0.16495461 0.6109983 0.7799627
2015 Q4 0.02211597 0.15281846 0.8074562 0.8247567
最后需要画出的图是这样的: