Stata:如果在特定百分比下,取消饼图中分类变量的标签
如果饼图中的变量低于指定的百分比,是否有办法抑制变量的标签?也许,当在图饼图选项中指定plabel()时,如果Stata没有在饼图中的变量分配低于10%,那么是否存在语法来标记饼图中的变量?虽然我可以调整plabel()中饼图标签的字体大小,但由于其变量的小份额,仍有多个标签重叠。我知道我可以指定如何标记饼图的单个切片,但是我正在生成大量图形,并且宁愿不重新贴上单个切片。Stata:如果在特定百分比下,取消饼图中分类变量的标签
就我所知,没有正式的方法来做到这一点。这是一种笨重的方式,它依靠从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
}
是什么让一切重新排序必要的是,塔塔标签扇形从1至K开始12点'时钟,并且无法将标签附加到基础数值。
谢谢@ Dimitriy - 你的代码非常有帮助。 – kathystehl 2015-03-27 15:58:50
@SKA无需感谢我。如果您发现答案有用,请将其选为左侧的答案。 – 2015-03-27 16:01:32
也许不是你寻求的答案,但是你正在解决的“问题”可能会出现,因为饼图对于这样的数据可能是一个糟糕的选择。条形图或点图可以可读地显示小分数和它们的分类标签。 – 2015-03-19 00:47:17
想要显示类别但不标注它的想法很有趣。除了@ Dimitriy的有用答案之外,还可以将小类别的聚合编入“其他”类别。对不起,但我不是志愿者代码,因为我认为使用其他图更好的答案,这不是一个我感兴趣的问题。 – 2015-03-19 00:56:00