No Stata, como posso forçar o gráfico a parar de ser exibido após um certo ponto no eixo x?
Por exemplo, digamos que eu tenho:
sysuse auto2, clear
gen mid = (price + weight)/2
gen n = _n
twoway ///
(rcap price weight n, horizontal) /// //
(scatter n mid), ///
ylabel(, nolabels noticks nogrid) ///
legend(off) ///
xscale(range(0 7000)) ///
xlabel(0(1000)7000)
Neste MWE, estou tentando forçá-lo a parar de exibir após 7.000, mas não funciona. Imagino que o xcale
e xlabel
pode estar sendo substituído para que todos os elementos rcap
's e scatter
possam ser desenhados. O que posso fazer para atingir o resultado desejado?
Fiquei surpreso por não conseguir encontrar uma pergunta duplicada sobre isso. É compreensível que seja uma pergunta comum.
Veja a documentação que
axis scale options
explica que a opção de escala de eixo ausente trunca a exibição.Você pode tentar uma
if
condição.Em situações extremas, quando isso não funciona, clone sua variável ou variáveis e substitua valores indesejados por ausentes. Em muitos exemplos reais, uma escala logarítmica ou outra escala não linear pode ser uma ideia melhor.
https://www.statalist.org/forums/forum/general-stata-discussion/general/1611713-xscale-with-line-graphs é um diálogo bastante típico para esse tipo de pergunta, o que certamente é bastante comum no Statalist.