约束轴范围

问题描述 投票:3回答:1

我想限制散点图中显示的值的范围。

我试过以下代码:

sysuse auto
twoway scatter mpg price
twoway scatter mpg price, yscale(range(20 30)) xscale(range(3000 10000))

但是,Stata不遵守指定的限制。

有没有办法迫使Stata这样做?

stata
1个回答
2
投票

有两种方法可以做到这一点,后者在这种情况下似乎是更好的解决方案。

1)您可以使用ylabel()xlabel()选项:

twoway scatter mpg price, ylabel(20 30) xlabel(3000 10000)

enter image description here

有关详细信息,请参阅Stata Journal上的this article


2)您可以使用inrange()功能:

twoway scatter mpg price if inrange(mpg, 20, 30) & inrange(price, 3000, 10000)

enter image description here

查看有关此功能的Stata Journal上的Stata tip 39


编辑:

尼克考克斯的评论

实质上,Stata graph命令不会因为轴刻度选项指定数据范围的一部分而忽略数据。请参阅axis scale options的帮助,其中明确指出range()只能用于扩展图轴的范围。要省略数据,您需要if(或等效地更改数据,以便将要省略的值更改为缺失 - 这不是特别好的做法,即使暂时或在数据副本上完成)。

© www.soinside.com 2019 - 2024. All rights reserved.