将样本量添加到箱线图
Adding sample size to box plot
我们测量了不同年龄组的抗体水平,每个组的样本量不同。
我想在箱形图的顶部添加相应组的样本量(即蹒跚学步的男孩的样本量)。所附照片显示了我的一个条形图。
我创建条形图的代码:
graph box igg1ugml_log10, over(female_sex) over(age_groups) ///
bar(samplesize) graphregion(color(white)) ///
title(Anti-EPEC IgG1 (ug/ml) in boys and girls) asyvars ///
ylabel(2.69897 "500" 3 "1,000" 3.3 "2000" 3.69 "5000" 3.95 "9000")
bar graph example
要向 graph box
添加文本,请使用已记录的 text()
选项。这是一个可重现的例子。除了使用图形编辑器之外,我没有任何计算文本位置的方法,只能摆弄看起来足够好的东西。
sysuse auto, clear
gen logprice = log10(price)
ssc install mylabels
su price
mylabels 3000(2000)15000, myscale(log10(@)) local(yla)
graph box logprice, over(foreign) yla(`yla', ang(h)) ///
text(4.25 21.2 "{it:n} = 52") text(4.25 79.8 "{it:n} = 22") ///
ysc(r(. 4.3)) scheme(s1color) ytitle(Price (USD))
注意。要正确显示微克的 mu,请参阅 Stata 中的 help graph text
并搜索希腊字母。
编辑
SSC 的 stripplot
也可以生成箱线图,尽管它的默认值和可能性都与 graph box
不同。这是一个可重现的例子。
sysuse auto, clear
egen count = count(mpg), by(rep78)
gen where = 10.5
stripplot mpg , box vertical ms(none) pctile(5) over(rep78) ///
yla(12 41 15(5)40, ang(h)) ///
addplot(scatter where rep78, mla(count) ms(none) mlabpos(0) ///
mlabsize(medsmall)) scheme(s1color)
同样,虽然这是可重现的代码,但选择 10.5 是与此处未显示的其他值一起使用的结果。您可以尝试通过基于样本最大值和最小值的计算来自动选择,自然地,您对它应该在哪里的偏好。如果您要生产数十个这样的产品,那将是个好主意。对于论文或演示文稿的单个情节,我会玩。
我们测量了不同年龄组的抗体水平,每个组的样本量不同。
我想在箱形图的顶部添加相应组的样本量(即蹒跚学步的男孩的样本量)。所附照片显示了我的一个条形图。
我创建条形图的代码:
graph box igg1ugml_log10, over(female_sex) over(age_groups) ///
bar(samplesize) graphregion(color(white)) ///
title(Anti-EPEC IgG1 (ug/ml) in boys and girls) asyvars ///
ylabel(2.69897 "500" 3 "1,000" 3.3 "2000" 3.69 "5000" 3.95 "9000")
bar graph example
要向 graph box
添加文本,请使用已记录的 text()
选项。这是一个可重现的例子。除了使用图形编辑器之外,我没有任何计算文本位置的方法,只能摆弄看起来足够好的东西。
sysuse auto, clear
gen logprice = log10(price)
ssc install mylabels
su price
mylabels 3000(2000)15000, myscale(log10(@)) local(yla)
graph box logprice, over(foreign) yla(`yla', ang(h)) ///
text(4.25 21.2 "{it:n} = 52") text(4.25 79.8 "{it:n} = 22") ///
ysc(r(. 4.3)) scheme(s1color) ytitle(Price (USD))
注意。要正确显示微克的 mu,请参阅 Stata 中的 help graph text
并搜索希腊字母。
编辑
SSC 的stripplot
也可以生成箱线图,尽管它的默认值和可能性都与 graph box
不同。这是一个可重现的例子。
sysuse auto, clear
egen count = count(mpg), by(rep78)
gen where = 10.5
stripplot mpg , box vertical ms(none) pctile(5) over(rep78) ///
yla(12 41 15(5)40, ang(h)) ///
addplot(scatter where rep78, mla(count) ms(none) mlabpos(0) ///
mlabsize(medsmall)) scheme(s1color)
同样,虽然这是可重现的代码,但选择 10.5 是与此处未显示的其他值一起使用的结果。您可以尝试通过基于样本最大值和最小值的计算来自动选择,自然地,您对它应该在哪里的偏好。如果您要生产数十个这样的产品,那将是个好主意。对于论文或演示文稿的单个情节,我会玩。