Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: how to add short labels to line graphs in lieu of a legend?


From   <S.Jenkins@lse.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: how to add short labels to line graphs in lieu of a legend?
Date   Fri, 6 Jan 2012 19:00:37 -0000

I have quarterly data for a panel of 6 countries (DE, IE, IT, SE, UK,
US)  which begin in 2007q1 and run until 2011q3 for 4 countries (DE, SE,
UK, US), but only to 2011q2 for IE and IT

I am graphing a variable "index" against time for each country
separately, and want to add a country marker label to the right of each
country's series that shows the relevant country's 2-letter acronym
(held in string var "cty2").  I want the country marker labels to be in
the same position relative to the horizontal axis -- i.e. all the
country labels should be vertically aligned, even for the 2 countries
with shorter series.

[I currently also identify the separate series using a legend, but I may
drop that if I can solve my problem.]

The problem is that I can't get the marker labels shown for IE and IT
(the 2 countries with shorter series), let alone aligned.

My code follows below. There is also a -clist- of the data at the end
(in the form they were before applying the code).

Please note that I want to do this using command line code. I know that
I could add these labels using the graph editor (and have done so) --
but I am not able to guarantee vertical alignment using the editor.

Currently, my strategy is to create 'fake' data for the missing data
points for IT and IE and overlay a one-point scatter in those cases. But
I can't get this to work. The code below produces marker labels in the
right places for the 4 countries with full data, but no marker labels
for IE and IT.

Suggestions please.


* IE and IT don't have 2011q3 data, so add dummy data so that can put
marker label in right place

set obs `=_N +2'

replace cty2 = "IE" in `=_N-1'
replace year = 2011 in `=_N-1'
replace quarter = 3 in `=_N-1'
replace country = 2  in `=_N-1'


replace cty2 = "IT" in `=_N'
replace year = 2011 in `=_N'
replace quarter = 3 in `=_N'
replace country = 3  in `=_N'
list country cty2 year quarter if cty2 == "IE"

su index if cty2 == "IE" & year == 2011 & quarter == 2, meanonly
replace index = r(mean) if cty2 == "IE" & year == 2011 & quarter == 3

su index if cty2 == "IT" & year == 2011 & quarter == 2, meanonly
replace index = r(mean) if cty2 == "IT" & year == 2011 & quarter == 3

list country cty2 year quarter index if cty2 == "IE" | cty2 == "IT",
sepby(cty2)

twoway ///
	(line index qdate if cty2 == "DE", lcol(black) lpattern(solid) )
///
	(line index qdate if cty2 == "IE" & !(year == 2011 & quarter ==
3), ///
		 lcol(black) lpattern(shortdash) ) ///
	(line index qdate if cty2 == "IT" & !(year == 2011 & quarter ==
3), ///
		 lcol(black) lpattern(longdash) ) /// 
	(line index qdate if cty2 == "SE", lcol(black) lpattern(dash) )
///
	(line index qdate if cty2 == "UK", lcol(black) lpattern(dot) )
///
	(line index qdate if cty2 == "US", lcol(black)
lpattern(longdash_dot) ) ///
	(scatter index qdate if cty2 == "DE" & year == 2011 & quarter ==
3, ///
		 mc(black) mlab(cty2) msize(small) msym(i) ) ///
	(scatter index qdate if cty2 == "IE" & year == 2011 & quarter ==
3, ///
		mc(black) mlab(cty2) msize(small) msym(i) ) ///
	(scatter index qdate if cty2 == "IT" & year == 2011 & quarter ==
3, ///
		mc(black) mlab(cty2) msize(small) msym(i) ) /// 
	(scatter index qdate if cty2 == "SE" & year == 2011 & quarter ==
3, ///
		mc(black) mlab(cty2) msize(small) msym(i) ) ///
	(scatter index qdate if cty2 == "UK" & year == 2011 & quarter ==
3, ///
		mc(black) mlab(cty2) msize(small) msym(i) ) ///
	(scatter index qdate if cty2 == "US" & year == 2011 & quarter ==
3, ///
		mc(black) mlab(cty2) msize(small) msym(i) ) ///
	, ysize(6) xsize(5)  ylabel(85(5)110, angle(0)) xtitle("")  ///
	  ymtick(85(1)110) xmtick(188(1)206)  ///
	legend(label(1 "Germany") label(2 "Ireland") label(3 "Italy")
label(4 "Sweden") ///
	label(5 "United Kingdom") label(6 "United States") ///
		region(lstyle(none)) order(1 2 3 4 5 6) ) ///
    scheme(s2mono) graphregion(color(white))

* the data
. clist cty2 year quarter qdate index , noobs

     cty2        year     quarter   qdate      index
       DE        2007           1  2007q1        100
       DE        2007           2  2007q2   100.5835
       DE        2007           3  2007q3   101.4588
       DE        2007           4  2007q4   101.7129
       DE        2008           1  2008q1   102.8071
       DE        2008           2  2008q2   102.4118
       DE        2008           3  2008q3   102.0071
       DE        2008           4  2008q4   99.79524
       DE        2009           1  2009q1   95.79527
       DE        2009           2  2009q2   96.09646
       DE        2009           3  2009q3   96.87766
       DE        2009           4  2009q4   97.58356
       DE        2010           1  2010q1   98.08001
       DE        2010           2  2010q2   99.99059
       DE        2010           3  2010q3   100.7812
       DE        2010           4  2010q4   101.2612
       DE        2011           1  2011q1   102.6259
       DE        2011           2  2011q2   102.9082
       DE        2011           3  2011q3   103.4259
       IE        2007           1  2007q1        100
       IE        2007           2  2007q2   98.41753
       IE        2007           3  2007q3   97.83268
       IE        2007           4  2007q4   101.1959
       IE        2008           1  2008q1   98.89506
       IE        2008           2  2008q2   96.79379
       IE        2008           3  2008q3   96.69672
       IE        2008           4  2008q4   93.21848
       IE        2009           1  2009q1    90.6559
       IE        2009           2  2009q2   90.08192
       IE        2009           3  2009q3   89.46284
       IE        2009           4  2009q4   88.39236
       IE        2010           1  2010q1   89.73387
       IE        2010           2  2010q2   89.36792
       IE        2010           3  2010q3   89.56984
       IE        2010           4  2010q4   88.35535
       IE        2011           1  2011q1   90.00674
       IE        2011           2  2011q2   91.41292
       IT        2007           1  2007q1        100
       IT        2007           2  2007q2   100.0841
       IT        2007           3  2007q3   100.2987
       IT        2007           4  2007q4   99.88922
       IT        2008           1  2008q1   100.2963
       IT        2008           2  2008q2   99.64062
       IT        2008           3  2008q3   98.51964
       IT        2008           4  2008q4   96.50864
       IT        2009           1  2009q1   93.61101
       IT        2009           2  2009q2   93.35072
       IT        2009           3  2009q3   93.68325
       IT        2009           4  2009q4   93.63736
       IT        2010           1  2010q1   94.23814
       IT        2010           2  2010q2   94.68584
       IT        2010           3  2010q3   94.98286
       IT        2010           4  2010q4   95.05025
       IT        2011           1  2011q1   95.17928
       IT        2011           2  2011q2   95.46375
       SE        2007           1  2007q1        100
       SE        2007           2  2007q2   100.5711
       SE        2007           3  2007q3   101.1683
       SE        2007           4  2007q4   102.2971
       SE        2008           1  2008q1   101.3358
       SE        2008           2  2008q2   101.2693
       SE        2008           3  2008q3   101.2779
       SE        2008           4  2008q4   97.02799
       SE        2009           1  2009q1   94.67907
       SE        2009           2  2009q2   95.13698
       SE        2009           3  2009q3   94.84025
       SE        2009           4  2009q4   95.67493
       SE        2010           1  2010q1   97.45189
       SE        2010           2  2010q2   99.40958
       SE        2010           3  2010q3   101.2571
       SE        2010           4  2010q4   102.4612
       SE        2011           1  2011q1   103.1432
       SE        2011           2  2011q2   104.2145
       SE        2011           3  2011q3    105.881
       UK        2007           1  2007q1        100
       UK        2007           2  2007q2   101.1683
       UK        2007           3  2007q3   102.3857
       UK        2007           4  2007q4   103.0422
       UK        2008           1  2008q1   103.0663
       UK        2008           2  2008q2   101.7623
       UK        2008           3  2008q3    99.7664
       UK        2008           4  2008q4     97.517
       UK        2009           1  2009q1   95.98917
       UK        2009           2  2009q2   95.79511
       UK        2009           3  2009q3   96.01694
       UK        2009           4  2009q4   96.72504
       UK        2010           1  2010q1   96.88013
       UK        2010           2  2010q2   97.90317
       UK        2010           3  2010q3   98.50919
       UK        2010           4  2010q4   98.00609
       UK        2011           1  2011q1   98.39365
       UK        2011           2  2011q2   98.49461
       UK        2011           3  2011q3   98.98818
       US        2007           1  2007q1        100
       US        2007           2  2007q2      100.9
       US        2007           3  2007q3   101.6368
       US        2007           4  2007q4   102.0672
       US        2008           1  2008q1   101.6138
       US        2008           2  2008q2   101.9485
       US        2008           3  2008q3   101.0018
       US        2008           4  2008q4   98.67801
       US        2009           1  2009q1   96.99068
       US        2009           2  2009q2   96.82294
       US        2009           3  2009q3   97.23042
       US        2009           4  2009q4   98.14186
       US        2010           1  2010q1   99.09315
       US        2010           2  2010q2   100.0184
       US        2010           3  2010q3   100.6395
       US        2010           4  2010q4   101.2255
       US        2011           1  2011q1   101.3159
       US        2011           2  2011q2   101.6521
       US        2011           3  2011q3   102.1576


Stephen
------------------
Professor Stephen P. Jenkins <s.jenkins@lse.ac.uk>
Department of Social Policy and STICERD
London School of Economics and Political Science
Houghton Street, London WC2A 2AE, UK
Tel: +44(0)20 7955 6527
Changing Fortunes: Income Mobility and Poverty Dynamics in Britain, OUP
2011, http://ukcatalogue.oup.com/product/9780199226436.do
Survival Analysis Using Stata:
http://www.iser.essex.ac.uk/survival-analysis
Downloadable papers and software: http://ideas.repec.org/e/pje7.html



Please access the attached hyperlink for an important electronic communications disclaimer: http://lse.ac.uk/emailDisclaimer

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index