* Overlay on a categorical axis sysuse auto, clear graph bar price, over(rep78) graph dot price, over(rep78) graph box price, over(rep78) graph box price, over(foreign) over(rep78) generate price0=price if foreign==0 label variable price0 "Domestic" generate price1=price if foreign==1 label variable price1 "Foreign" graph box price0 price1, over(rep78) drop price0 price1 levelsof rep78, local(rl) foreach val of local rl { generate price`val' = price if rep78==`val' local varlbl : label(rep78) `val' label variable price`val' "`varlbl'" } graph box price?, over(foreign) drop price? * see the "separate" command