如何在Stata中创建具有多个条形标签的条形图

时间:2015-02-08 17:46:40

标签: stata

我正在尝试创建一个条形图,其中频率在条形图之外,内部百分比是否可能?会发布图片,但系统还不允许它。

1 个答案:

答案 0 :(得分:1)

正如其他人所指出的,这是一个没有代码的糟糕问题。

可以猜测您正在使用graph bar。这使您最多可以选择一种条形标签的位置和位置。只要你做一点工作,twoway bar就可以做得更多。

sysuse auto, clear
contract rep78 if rep78 < .
su _freq
gen _pc = 100 * _freq / r(sum)
gen s_pc  = string(_pc, "%2.1f") + "%"
gen one = 1

twoway bar _freq rep78, barw(0.9) xla(1/5, notick) bfcolor(none) ///
|| scatter one _freq rep78, ms(none ..) mla(s_pc _freq) mlabcolor(black ..) ///
mlabpos(0 12) scheme(s1color) ysc(r(0 32)) yla(, ang(h)) legend(off) 

enter image description here

简而言之:

  1. contract折叠到频率数据集。

  2. 计算百分比是微不足道的,但如果标签看起来不傻,则需要在字符串变量中使用格式化版本。精确的格式是选择。

  3. 根据条形标签,轴上的频率刻度可以说是多余的,可以省略。

  4. 该示例将标签置于其基座上方,频率等于1的水平。这个示例的选择是如果典型的频率高得多,则太靠近轴。