
clear
twoway (function y = 2-.01*x, range(0 100)) ///
(function y = 1-.01*x, range(0 100)), ///
text(2 20 "High SES") ///
text(1 20 "Low SES") ///
xtitle(Age) ytitle(Health) ylabel(0(1)2.5, nolabel noticks) ///
/* ylabel(none) doesn't allow to control axis, thus
this is a helpful workaround */ ///
xlabel(0 100, nolabel noticks) ///
legend(off) ///
/*legend(label(1 "High SES") label(2 "Low SES") pos(6) col(2))*/ ///
title("Status maintenance", box bexpand) ///
name(maint, replace)
twoway (function y = 2-.004*x, range(0 100)) ///
(function y = 1-.01*x, range(0 100)), ///
text(2 20 "High SES") ///
text(1 20 "Low SES") ///
xtitle(Age) ytitle(Health) ylabel(0(1)2.5, nolabel noticks) ///
xlabel(0 100, nolabel noticks) ///
legend(off) ///
/*legend(label(1 "High SES") label(2 "Low SES")) */ ///
title("Cumulative (dis-)advantage", box bexpand) ///
name(cumulat, replace)
twoway (function y = 2-.015*x, range(0 100)) ///
(function y = 1-.01*x, range(0 100)), ///
text(2 20 "High SES") ///
text(1 20 "Low SES") ///
xtitle(Age) ytitle(Health) ylabel(0(1)2.5, nolabel noticks) ///
xlabel(0 100, nolabel noticks) ///
legend(off) ///
/*legend(label(1 "High SES") label(2 "Low SES")) */ ///
title("Age as leveler", box bexpand) ///
name(leveler, replace)
graph combine cumulat maint leveler, xcommon col(1) xsize(3) ysize(8)
graph export Graph.png, replace

// Same graph with one legend at the bottom:
twoway (function y = 2-.01*x, range(0 100)) ///
(function y = 1-.01*x, range(0 100)), ///
xtitle(Age) ytitle(Health) ylabel(0(1)2.5, nolabel noticks) ///
/* ylabel(none) doesn't allow to control axis, thus
this is a helpful workaround */ ///
xlabel(0 100, nolabel noticks) ///
legend(label(1 "High SES") label(2 "Low SES") pos(6) col(2)) ///
title("Status maintenance", box bexpand) ///
name(maint, replace)
twoway (function y = 2-.004*x, range(0 100)) ///
(function y = 1-.01*x, range(0 100)), ///
xtitle(Age) ytitle(Health) ylabel(0(1)2.5, nolabel noticks) ///
xlabel(0 100, nolabel noticks) ///
legend(off) ///
title("Cumulative (dis-)advantage", box bexpand) ///
name(cumulat, replace)
twoway (function y = 2-.015*x, range(0 100)) ///
(function y = 1-.01*x, range(0 100)), ///
xtitle(Age) ytitle(Health) ylabel(0(1)2.5, nolabel noticks) ///
xlabel(0 100, nolabel noticks) ///
legend(off) ///
title("Age as leveler", box bexpand) ///
name(leveler, replace)
grc1leg cumulat maint leveler, xcommon col(1) ///
xsize(3) ysize(8) name(combined, replace) legendfrom(maint)
// Problem: -grc1leg- appears to ignore -xsize()- and -ysize()-
graph display combined, xsize(3) ysize(8)
// Solution: Redraw so that size commands take effect
graph export Graphwlegend.png, replace