Graph Stata图与yline
我有以下Graph Stata图与yline,graph,stata,Graph,Stata,我有以下双向散射,我希望绘制两条叶线,并让它们在设定的x值处开始和停止 clear all set more off sysuse auto twoway scatter mpg weight, /// connect(l) sort /// xline(2500) /// yline(25) 我想要一条2500的xline和两条yline一条从1500到2800,另一条从2900到4100。我还想让数据点连接起来。一种方法是使用辅助变量: clear all
双向散射
,我希望绘制两条叶线
,并让它们在设定的x值处开始和停止
clear all
set more off
sysuse auto
twoway scatter mpg weight, ///
connect(l) sort ///
xline(2500) ///
yline(25)
我想要一条2500的
xline
和两条yline
一条从1500到2800,另一条从2900到4100。我还想让数据点连接起来。一种方法是使用辅助变量:
clear all
set more off
sysuse auto
*----- first yline -----
gen xli = .
replace xli = 1500 in 1
replace xli = 2800 in l
gen yli = 25
*----- second yline -----
gen xxli = .
replace xxli = 2900 in 1
replace xxli = 4100 in l
gen yyli = 20
*----- first xline -----
gen yyyli = .
replace yyyli = 15 in 1
replace yyyli = 40 in l
gen xxxli = 2500
*----- graph -----
twoway scatter mpg weight, connect(l) sort || ///
line yli xli || line yyli xxli /// ylines
|| line yyyli xxxli // xline
我怀疑这是最好的技术,但它似乎有效。您至少需要处理图例和线条颜色<代码>帮助和Stata手册在这方面有很多内容(还有更多内容)。考虑一下:
sysuse auto
scatter mpg weight, connect(l) sort || scatteri 25 1500 25 2800, recast(line)
scatteri
默认情况下,仅在所述坐标处添加点,即25 1500和25 2800,它们是scatter
和two-way
约定的(y,x)对,即首先命名y变量
recast()。要获得单独的线段,请添加单独的scatteri
调用 好吧,为了斯塔塔的缘故,我希望有一个更简单的方法来做到这一点。你的方法很管用,但当我尝试连接这些线并在图表中排序时,这些线就不再显示了。有什么想法吗?我应该在问题中包括这一点,但我认为这些选项不会受到影响。请向我们展示一些重现问题的代码。我的猜测是,你已经说过了,排序
,但我不能确定。策略并没有那么糟糕。只需创建绘制线条所需的数据。这是首要原则,一个更好的解决方案。