Ich möchte ein Zeitreihendiagramm zeichnen, das Referenzlinien für beide X & Y-Achsen angibt. Ich könnte das Diagramm erhalten, das nur die Referenzlinien für die Zeitachse (X) zeigt (wie in der folgenden Grafik gezeigt).Referenzlinien in Zeitreihendiagrammen
Der Befehl, den ich verwenden twoway (tsline egg_prod), tline(2004 2007 2012)
Jetzt habe ich die Mittellinien für jedes Segment zeigen will. d. h. die durchschnittliche Eierproduktion innerhalb von 2004-2007 & 2008-2012.
Ich poste einen minimalen Datensatz für Ihre Referenz. Es folgt der Code, den ich mit dateex verwendet habe.
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
Kann jemand vorschlagen, wie ich folgen sollte?
EDIT:
Ich will jetzt Schatten auf den Bereich jeder identifizierten Zeitperiode entspricht.
Ich versuchte die recast(area)
Option, aber stieß auf einige Probleme.
1) Ich möchte, dass der schattierte Bereich die oberen & unteren Ränder des Diagramms berührt. Ich konnte keinen Weg dafür finden.
2) Ich möchte keine Legende für schattierte Bereiche sehen. Also habe ich legend(off)
verwendet, aber das bedeutet, dass die Legende zu den Mittelwerten auch weggelassen wird. Könnten Sie bitte einen Weg vorschlagen, wie Sie diese Probleme lösen können?
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))