我想将 Stata 中“扇区”的变量“变化”绘制为条形图,使用
graph bar change, over(sector, sort(1)) asyvars
正如我想要的那样,条形图按“变化”的升序绘制。然而,图例是根据扇区排序的(扇区是一个数字 ID,并且扇区变量具有值标签,因此图例按扇区 id 的升序显示文本,而不是按更改的升序)。
因此,更改顺序与图例不匹配。
有没有一种方法可以自动(即无需手动重新编码标签或顺序)让图例以与条形相同的方式排序?
我尝试用另一个顺序正确的变量替换扇区变量:
sort change
gen increasingorder=_n
graph bar change, over(increasingorder) asyvars
虽然条形图和图例的顺序现在匹配,但我不再有“扇区”的值标签,并且没有简单的方法来获取它们(因为“扇区”包含扇区 id,而“increasingorder”包含排名,因此映射不同)。
让我们从每个 Stata 用户都可以调用的数据集来讨论这个问题。
sysuse auto, clear
graph bar mpg, over(rep78, sort(1)) asyvars
myaxis newx=rep78, sort(mean mpg)
graph bar mpg, over(newx, sort(1)) asyvars
执行您想要的操作的
myaxis
命令写在本文中,其中详细讨论了关键原理。