【发布时间】:2016-03-31 05:24:30
【问题描述】:
我想绘制一个时间序列图,指定 X 和 Y 轴的参考线。我可以得到仅显示时间 (X) 轴参考线的图(如下图所示)。
我使用的命令是twoway (tsline egg_prod), tline(2004 2007 2012)
现在我想显示每个段的平均线。即 2004-2007 和 2008-2012 年的平均产蛋量。
我发布了一个最小数据集供您参考。以下是我与 dataex 一起使用的代码。
clear
input int year long egg_production
2000 918000
2001 941000
2002 886000
2003 885012
2004 874596
2005 864552
2006 901176
2007 915600
2008 1.0e+06
2009 1.1e+06
2010 1.1e+06
2011 1.2e+06
2012 1.2e+06
2013 1.9e+06
end
有人可以建议我应该遵循的方式吗?
编辑:
我现在想为每个确定的时间段对应的区域加阴影。
我尝试了recast(area) 选项,但遇到了一些问题。
1) 我希望阴影区域触及绘图的顶部和底部边距。我找不到办法。
2) 我不想看到阴影区域的图例。所以我使用了legend(off),但这意味着与平均值相关的图例也被省略了。您能否提出一种解决这些问题的方法?
graph twoway scatteri 2 2004 2 2007, recast(area) fcolor(gs14) lcolor(maroon) legend(off) ///
|| scatteri 2 2008 2 2012, recast(area) fcolor(gs14) lcolor(maroon) legend(off) ///
|| connected egg year, tline(2004 2007 2008 2012) ///
|| scatteri `mean1' 2004 `mean1' 2007, recast(line) ///
|| scatteri `mean2' 2008 `mean2' 2012, recast(line) ///
ytitle(Egg production (millions)) xtitle("") xla(2000(5)2010 2013) xtic(2001/2012) ///
scheme(s2color) yla(, ang(h)) ///
legend(order(2 "2004-07 mean `text1' m" 3 "2008-12 mean `text2' m") pos(11) ring(0) col(1))
【问题讨论】: