约束轴范围

时间:2018-09-12 08:58:04

标签: stata

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

我尝试了以下代码:

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

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

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

1 个答案:

答案 0 :(得分: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 tip 39 在Stata Journal上有关此功能的信息。


编辑:

尼克·考克斯的评论

本质上,Stata graph命令不会仅仅因为轴比例选项指定了数据范围的一部分而忽略数据。请参阅axis scale options的帮助,其中明确指出range()仅可用于扩展图形轴的范围。要省略数据,您需要if(或等效地更改数据,以便将要忽略的值更改为丢失-即使临时完成或在数据副本上进行操作,这也不是很好的习惯) 。