// Breaking up long labels
sysuse auto, clear
#delimit
label define origin 0 `"group0 group0 group0 group0 group0
group0 group0 group0 group0 group0"', modify;
label define origin 1 "group1 group1 group1 group1 group1
group1 group1 group1 group1 group1 ", modify;
#delimit cr
local relabels
local relabels1
levelsof for, local(groups)
local s_len=20 //Change to required length
foreach g of local groups {
local label : label origin `g'
local len : length local label
if `len'>`s_len' {
forvalues i=1/ `=`len'/`s_len'+1' {
local p1 : piece `i' `s_len' of `"`label'"', nobreak
local relabels `"`relabels' `=char(34)+ "`p1'" +char(34)' "'
}
local relabels1 `relabels1' `=`g'+1' `"`relabels'"'
local relabels
}
}
graph hbar mpg, over(for, relabel(`relabels1' ))
exit
Breaking up long labels - with splitvallabels
Requires the user written command: splitvallabels
To download splitvallabels type the following on the Stata command line:
ssc install splitvallabels
sysuse auto, clear
label define rep78 1 "Very low rating in 1978" ///
2 "Mediocre - Low Rating in 1978" ///
3 "Medium Rating in 1978" ///
4 "Not bad rating in 1978, considering" ///
5 "Excellent in 1978--the best of the year!"
label values rep78 rep78
splitvallabels rep78 if rep78>=3, length(11) recode
graph bar mpg if rep78>=3, over(rep78, relabel(`r(relabel)') ) scheme(s1)
exit
http://www.survey-design.com.au/Stata%20Graphs.html