Stata:如果在一定百分比下,在饼图中抑制分类变量的标签

时间:2015-03-18 21:49:21

标签: graph stata categorical-data

如果饼图中的变量低于指定的百分比,是否有办法抑制变量的标记?也许,当在图形饼图选项中指定plabel()时,有一种语法可以强制Stata如果其份额低于10%,则不会在饼图中标记变量?虽然我可以调整plabel()中饼图标签的字体大小,但仍有几个标签因其变量的小份额而重叠。我知道我可以指定如何标记饼图的各个切片,但是我生成了大量的图形,并且不希望重新标记单个切片。

1 个答案:

答案 0 :(得分:2)

据我所知,目前没有官方的方法可以做到这一点。这是一种笨重的方式,它依赖于顺时针方向从12点开始重新排序从最大到最小的类别。当您的变量被排序时,这种行为将是不可取的,但我还是更喜欢直方图:

sysuse auto, clear

foreach var of varlist rep78 mpg turn {
  qui count if !missing(`var')
  bys `var': gen frac = _N/r(N)
  gsort -frac
  levelsof `var' if frac>.10

  local wc: word count `r(levels)'
  local plabel ""

  forvalues i=1/`wc' {
    local plabel "`plabel' plabel(`i' name)"
  }

  graph pie, over(`var') `plabel' sort descending

  drop frac 
}

所有重新排序的必要条件是,Stata从12点开始标记从1到k的饼图切片,并且无法将标签附加到基础数值。