Graph 如何不截断图形hbox类别名称

Graph 如何不截断图形hbox类别名称,graph,label,stata,Graph,Label,Stata,我似乎经常遇到这个问题,但没有找到令人满意的解决办法 使用水平框和胡须图(graph hbox)时,类别上的变量标签会被截断,并在图形和图像边界之间压缩,如所附的图所示 * Example generated by -dataex-. To install: ssc install dataex clear input str11 q40 double yield "" . "50' or less" 90 "."

我似乎经常遇到这个问题,但没有找到令人满意的解决办法

使用水平框和胡须图(
graph hbox
)时,类别上的变量标签会被截断,并在图形和图像边界之间压缩,如所附的图所示

* Example generated by -dataex-. To install: ssc install dataex
clear
input str11 q40 double yield
""                      .
"50' or less"          90
"."                    98
""                      .
"20' or less"          59
""                      .
"30' or less"           .
"50' or less"         117
""                      .
"."                113.69
"."                    79
""                      .
"50' or less"         106
""                      .
"30' or less"          96
"30' or less"         108
"50' or less"          82
"50' or less"         110
""                      .
"30' or less" 137.0382436
""                      .
"50' or less"         104
""                      .
"30' or less"         100
""                      .
"."                 128.2
"50' or less"           .
"30' or less"       72.19
""                      .
"50' or less"         117
"."                  92.8
"30' or less"         120
"50' or less"         101
"."                     .
"None"                 81
"50' or less"          87
"50' or less"         103
"."                   108
"50' or less"         110
"30' or less"          99
"50' or less"          86
"30' or less"          97
"50' or less"         125
""                      .
"."                   110
"50' or less"         107
""                      .
""                      .
""                      .
"50' or less"         105
"."                 117.8
"75' or less"         109
"30' or less" 39.09157895
"75' or less"          65
"75' or less"         104
""                      .
""                      .
"30' or less"         100
""                      .
"30' or less"         132
"."                    99
""                      .
"."                   115
"50' or less"         109
"50' or less"         104
""                      .
"30' or less"          93
"None"                 87
"."                   117
"None"                111
"20' or less"          70
"50' or less"          98
"50' or less"         102
"30' or less"         107
"."                   115
"30' or less"         115
"50' or less"         126
"30' or less"         112
"30' or less"         103
""                      .
"30' or less"         111
"50' or less"          93
"."                   115
""                      .
"50' or less"          95
"30' or less"         109
"30' or less"    104.0125
"50' or less"          91
"50' or less"           .
"30' or less"         102
"50' or less"          96
"50' or less"         107
"30' or less"         111
"."                  82.9
"50' or less"         105
"50' or less"          91
""                      .
"30' or less"         107
"30' or less" 88.97733333
"50' or less"          85
end
以下是我生成图表的代码:

graph hbox yield, over(q40) 

我需要12个空格来呈现类别名称,但在Stata或Stata手册中找不到如何设置标签长度

可以找到复制此图的完整数据集


任何想法都将不胜感激

我可以用这个数据子集复制问题:

* Example generated by -dataex-. To install: ssc install dataex
clear
input str11 q40 double yield byte tag
""                      . 1
""                      . 1
"."                    56 1
"."                     . 1
"20' or less"          47 1
"20' or less"         132 1
"30' or less" 39.09157895 1
"30' or less"           . 1
"50' or less" 50.09548059 1
"50' or less"           . 1
"75' or less" 32.82857143 1
"75' or less"           . 1
"75' or more"         102 1
"75' or more"         107 1
"None"        30.96176471 1
"None"                  . 1
"Random"               60 1
"Random"                . 1
end

set scheme s1color 
graph hbox yield, over(q40) name(G1) 

通过这种修补可以得到外观合理的标签

graph hbox yield, over(q40) aspect(1) name(G2) 

当然,方框图并不严重。我只关注报道的问题

我不知道为什么这么长(或这么短)的文本标签会有问题。直觉是轴的长度显然太长了,所以应该缩短


该解决方案也适用于完整的数据集

导致这种情况的原因是
之后的
30等,可能与Stata如何在内部解析字符串变量
q40
有关。使用与@NickCox相同的数据子集:

clear

input str11 q40 double yield byte tag
""                      . 1
""                      . 1
"."                    56 1
"."                     . 1
"20 or less"          47 1
"20 or less"         132 1
"30 or less" 39.09157895 1
"30 or less"           . 1
"50 or less" 50.09548059 1
"50 or less"           . 1
"75 or less" 32.82857143 1
"75 or less"           . 1
"75 or more"         102 1
"75 or more"         107 1
"None"        30.96176471 1
"None"                  . 1
"Random"               60 1
"Random"                . 1
end

graph hbox yield, over(q40) name(G1, replace) 

斑点清晰,但仍然神秘@NickCox我认为Stata会被内部解析的双引号和单引号的数量弄糊涂。事实上,我“几乎证明”我的情况就是这样。困惑是疾病,而不是原因。显然,Stata应该为本地宏引用查找左开引号和右闭引号,但它们不在这里,我们正在丢失大部分标签。我不知道发生了什么事。