Graph 组合分位数回归图
我在Stata中生成多个分位数回归图,然后我想将其与社区贡献的命令Graph 组合分位数回归图,graph,stata,Graph,Stata,我在Stata中生成多个分位数回归图,然后我想将其与社区贡献的命令grc1leg结合起来。与内置命令graph combine相比,此命令使用单个通用图例组合图形 但是,当我运行代码时,我总是遇到以下错误: Graph.graphs[1].legend.draw_view.set_false: class type not found r(4018); 如果将其他图形与grc1leg组合,则不会发生这种情况 下面是一个可复制的示例: *load data sysuse auto, clear
grc1leg
结合起来。与内置命令graph combine
相比,此命令使用单个通用图例组合图形
但是,当我运行代码时,我总是遇到以下错误:
Graph.graphs[1].legend.draw_view.set_false: class type not found
r(4018);
如果将其他图形与grc1leg
组合,则不会发生这种情况
下面是一个可复制的示例:
*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
注意,本例中的grqreg
也是一个社区贡献的命令
对如何解决这个问题有什么建议吗
我在以前的帖子中读到,如果用户在这段时间使用了图形编辑器,或者如果图形中出现了单词key,那么
grc1leg
会感到不安。这里也不是这样。命令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)