stata marginsplot

时间:2018-03-12 17:18:28

标签: plot stata

我有一个关于在stata中设置使用marginsplot命令生成的子图的标题的问题。我经常需要调整这些,特别是当我绘制三向交互时。默认情况下,stata使用指定的变量的值标签来提供by命令的marginsplot部分中的子维度。如果变量仅具有整数值,则此方法正常工作,因为只要一个人处理具有分数标记的值不再起作用的值(例如,从0到1的索引)。我知道我总是可以乘以并得到整数但是我可能会引入其他问题,所以我想保持原始变量不变并调整plot命令中的标签。我已尝试使用byopt(title(""))title(""),但它不起作用。

以下是一个例子:

sysuse auto, clear

lab drop origin

reg price c.mpg##i.foreign##c.trunk

margins, at(foreign=(0(1)1) mpg=(12 (2) 41) trunk=(10 14 17)) vsquish
marginsplot, recastci(rline) by(foreign) byopt(title("") rows(1)) allsimplelabels ///
ci1opts(lpattern("shortdash_dot") lwidth("medium") lcolor("gs6")) ///
ci2opts(lpattern("shortdash_dot") lwidth("medium") lcolor("black")) ylabel(,gstyle(minor)) ///
ci3opts(lpattern("shortdash_dot") lwidth("medium") lcolor("gs12")) ylabel(,gstyle(minor)) ///
title("") legend(pos(6) col(3))

请注意,如果我不在开头删除标签,则情节看起来很好。这是我想要在不使用值标签的情况下实现的,仅在用于获取绘图的命令中。知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

尝试像这样调整by(, label())选项:

marginsplot, recastci(rline) by(foreign, label("Domestic Cars" "Foreign Automobiles")) byopt(title("") rows(1)) allsimplelabels ///
ci1opts(lpattern("shortdash_dot") lwidth("medium") lcolor("gs6")) ///
ci2opts(lpattern("shortdash_dot") lwidth("medium") lcolor("black")) ylabel(,gstyle(minor)) ///
ci3opts(lpattern("shortdash_dot") lwidth("medium") lcolor("gs12")) ylabel(,gstyle(minor)) ///
title("") legend(pos(6) col(3))

如果这不是您想要的,请在使用图表编辑器编辑后发布图表,以显示所需的结果。