worldbank / stata-visual-library

Inspiration and code for data visualizatio in Stata, created and maintained by DIME Analytics.
https://worldbank.github.io/stata-visual-library/
MIT License
77 stars 33 forks source link

sorted stacked bar graph #20

Open luizaandrade opened 3 years ago

luizaandrade commented 3 years ago

Here's some mock code that I created to answer a question on how to create a sorted stacked bar graph at region level starting from a hosehold-level dataset

clear
set obs 20000
gen random = rnormal(0, 2)
gen gender = random >.6
gen order = _n
xtile district = order, nq(6)
drop random
bys district: gen id = district * 1000000 + _n

* Collapse to district level
collapse (count) id, by(district gender)

* One column per gender
reshape wide id, i(district) j(gender)

* Calculate percentages
egen total = rowtotal(id?), m

foreach var of varlist id? {
    replace `var' = (`var'/total) * 100
}

graph bar   Male Female, ///
            over(district, ///
                sort(1) descending) ///
            stack