Диапазон ограничения оси - PullRequest
0 голосов
/ 12 сентября 2018

Я хотел бы ограничить диапазон значений, отображаемых на диаграмме рассеяния.

Я пробовал следующий код:

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

Однако Stata не соблюдает указанные ограничения.

Есть ли способ заставить Стату сделать это?

1 Ответ

0 голосов
/ 12 сентября 2018

Есть два способа сделать это, причем последний в этом случае выглядит лучшим решением.

1) Вы можете использовать опции ylabel() и xlabel():

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

enter image description here

Подробнее см. в этой статье в Stata Journal.


2) Вы можете использоватьinrange() функция:

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

enter image description here

Проверьте Совет Stata 39 в Stata Journal об этой функции.


РЕДАКТИРОВАТЬ:

Комментарий от Ника Кокса

По сути, команды Stata graph не будут пропускать данные только потому, что параметры масштаба оси указываютчасть диапазона данных.См. Справку для axis scale options, где явно указано, что range() можно использовать только для расширения диапазона оси графика.Чтобы пропустить данные, вам нужно if (или, что то же самое, изменить данные таким образом, чтобы пропускаемые значения были заменены на пропущенные, что не особенно полезно, даже если это делается временно или для копии данных).

...