Stata中三个公共x轴图的空间有效组合

Stata中三个公共x轴图的空间有效组合,stata,Stata,我正在寻找类似下面的by()graph的东西,但是我想要的不是三个面板对应三个组,而是三个面板包含三个不同的y变量 webuse grunfeld, clear keep if inrange(company, 1, 3) twoway line mvalue year, by(company, cols(1) compact) 我喜欢三个面板的紧凑性和一个公共x轴。我可以用不同的y变量来处理这个问题吗 我可以使用图形组合组合以下三个面板。但这会复制x轴,并浪费大量空间,而这些空间本可以更好地

我正在寻找类似下面的
by()
graph的东西,但是我想要的不是三个面板对应三个组,而是三个面板包含三个不同的y变量

webuse grunfeld, clear
keep if inrange(company, 1, 3)
twoway line mvalue year, by(company, cols(1) compact)
我喜欢三个面板的紧凑性和一个公共x轴。我可以用不同的y变量来处理这个问题吗

我可以使用
图形组合
组合以下三个面板。但这会复制x轴,并浪费大量空间,而这些空间本可以更好地用于y轴范围

webuse grunfeld, clear
keep if (company == 1)
tsline mvalue, name(mvalue, replace)
tsline kstock, name(kstock, replace)
tsline invest, name(invest, replace)
graph combine mvalue kstock invest, cols(1) name(combined, replace)
我开始剥离x轴标题和标签,但这会影响每个面板的相对大小。这里有更直接的解决方案吗

webuse grunfeld, clear
keep if (company == 1)
tsline mvalue, name(mvalue, replace) xtitle("") xlabel(none)
tsline kstock, name(kstock, replace) xtitle("") xlabel(none)
tsline invest, name(invest, replace)
graph combine mvalue kstock invest, cols(1) name(combined, replace)
试试这个:

webuse grunfeld, clear
keep if (company == 1)
tsline mvalue, name(mvalue, replace) xscale(off)
tsline kstock, name(kstock, replace) xscale(off)
tsline invest, name(invest, replace) 
graph combine mvalue kstock invest, cols(1) name(combined, replace) xcommon imargin(b=1 t=1)
xscale(off)
选项将抑制x轴,而
imargin()
将缩小每个图形顶部和底部的空间,使其变小,
xcommon
使比例相同

这将产生:

试试这个:

webuse grunfeld, clear
keep if (company == 1)
tsline mvalue, name(mvalue, replace) xscale(off)
tsline kstock, name(kstock, replace) xscale(off)
tsline invest, name(invest, replace) 
graph combine mvalue kstock invest, cols(1) name(combined, replace) xcommon imargin(b=1 t=1)
xscale(off)
选项将抑制x轴,而
imargin()
将缩小每个图形顶部和底部的空间,使其变小,
xcommon
使比例相同

这将产生:


我写了一个程序
sparkline
,主要是为了显示多个时间序列

webuse grunfeld, clear
set scheme s1color 
ssc inst sparkline 
sparkline invest mvalue kstock year if company == 1 

我写了一个程序
sparkline
,主要是为了显示多个时间序列

webuse grunfeld, clear
set scheme s1color 
ssc inst sparkline 
sparkline invest mvalue kstock year if company == 1 

第三种方法是
重塑长
数据,然后在
by()
中使用变量标签


第三种方法是
重塑长
数据,然后在
by()
中使用变量标签


谢谢!一旦我知道了答案,文档总是非常有用的!:)@RichardHerron我强烈要求你要一份。虽然我很喜欢Stata文档的Diderotesque野心,但VGSG是一种更简单的方法,可以让Stata在涉及到图形时快速完成您的想法。售出!斯塔塔的文档非常好,但当涉及到图形时,我会被过度处理。谢谢你的提示/链接(Stata比Amazon便宜20美元)。这些面板仍然不均匀。自从这篇文章发表以来,有没有人提出了一个解决方案(除了重塑)?这将非常有用。@Susan“面板仍然不均匀”是什么意思?谢谢!一旦我知道了答案,文档总是非常有用的!:)@RichardHerron我强烈要求你要一份。虽然我很喜欢Stata文档的Diderotesque野心,但VGSG是一种更简单的方法,可以让Stata在涉及到图形时快速完成您的想法。售出!斯塔塔的文档非常好,但当涉及到图形时,我会被过度处理。谢谢你的提示/链接(Stata比Amazon便宜20美元)。这些面板仍然不均匀。自从这篇文章发表以来,有没有人提出了一个解决方案(除了重塑)?这将非常有用。@Susan“面板仍然不均匀”是什么意思?我的示例甚至来自
sparkline
帮助文件!:)你有发现包裹的窍门吗?有没有类似R的任务视图?谢谢可能会有帮助。我的甚至是
sparkline
help文件中的一个例子!:)你有发现包裹的窍门吗?有没有类似R的任务视图?谢谢可能会有帮助。现在见