我制作了多个分位数回归图,然后我想与用户编写的命令grc1leg结合使用(必须使用网络安装从网上安装,不能在SSC上使用)。该命令将图形与一个常见图例进行比较,并与默认图表组合进行比较。
但是,当我运行我的代码时,我总是遇到以下错误: Graph.graphs [1] .legend.draw_view.set_false:找不到类类型 R(4018);
如果我将其他图表与grc1leg结合使用
,则不会发生这种情况*EXAMPLE:
*load data
sysuse auto, clear
*Qreg 1
qreg price weight length foreign, quantile (0.5)
grqreg foreign, ci ols olsci graphregion(color(white))
graph save "H:\graph1.gph", replace
*Qreg 2
qreg price weight length foreign, quantile (0.5)
grqreg foreign, ci ols olsci graphregion(color(white))
graph save "H:\graph2.gph", replace
/* Combining graphs */
*grc1leg is a user written command that needs to be installed first
net install grc1leg, replace
cd H:\
graph combine graph1.gph graph2.gph
grc1leg graph1.gph graph2.gph
我在之前的帖子中读到,如果用户在其间使用图形编辑器或图中出现了单词键,则grc1leg会感到不安。这里也不是这样的。
感谢您的任何建议!
干杯,
了Christoph
答案 0 :(得分:3)
命令grc1leg
在这里不起作用,因为grqreg
已经在内部合并了图形。这样,所需的图类类型就会被破坏。
迫使前者起作用的唯一方法是在后者的源代码中更改以下几行:
*-> combine all graphs;
if ("`nodraw'"=="nodraw") {;
grc1leg `graphlist', nodraw `options';
// graph combine `graphlist', nodraw `options';
};
if ("`nodraw'"=="") {;
grc1leg `graphlist', `options';
// graph combine `graphlist', `options';
};
换句话说,您需要使用grc1leg
来组合内部生成的单个图。
完成此操作并重新加载grqreg
后,以下各项将按预期工作:
sysuse auto, clear
qreg price weight length foreign, quantile (0.5)
grqreg foreign, ci ols olsci graphregion(color(white)) name(g1, replace)
qreg price weight length foreign, quantile (0.5)
grqreg foreign, ci ols olsci graphregion(color(white)) name(g2, replace)
grc1leg g1 g2, name(g3, replace)