Colleagues:

I'm stumped on how/why my graph is resized in what strikes me as a counterintuitive way based on how ylabel is specified. I'm hoping there's a simple option I can use so that regardless of the ylabel specification the x-axis will have the same length. I'm generating a series of these graphs, each with a different ylabel, and hope to have them all align.

Compare the following graphs—Array Array

The twoway command is long and messy (displayed at the end of the posting), but key element is
Code:
ylab(`ll'(.1)`ul',...)
The only difference between the commands generating these two graphs is that for the first I specify
Code:
local ll=-.301
local ul=.099
while for the second I specify
Code:
local ll=-.3
local ul=.1
Any suggestions are welcome. (I suspect this is an easy fix, but it is eluding me.) Thanks in advance.

P.S. Here's the full command
Code:
twoway (bar y frqorder if frqorder==2|frqorder==8|frqorder==14|frqorder==20, yline(0, lcolor(black*.25)) base(-.3) barw(3) fcolor(%20) lw(0))  (scatter  penonpar1 penonpar2 frqorder in 1/24, mcolor(ebblue orange) msym(d s) yline(0, lcolor(black*.25)) msize(*1.25 *1.25) ylabel(`ll'(.1)`ul', angle(360)) xlabel(1(1)24 , val angle(45) labsize(*.85) tpos(o)) legend(rows(1) pos(12) order(2 3) region(lw(0) fcolor(bg)) label(2 "Age 18-44 {&rarr} Age 45-64") label(3 "Age 45-64 {&rarr} Age 65+") ) xti("{bf:q}") l2("PE{sub:{bf:q}}", orientation(horizontal))  xsc(r(.5 24.5)))