Rotulando marcas de escala no estilo de script e colocando pontas de seta on-line usando o comando addplot

Rotulando marcas de escala no estilo de script e colocando pontas de seta on-line usando o comando addplot

O código fornecido instrui TikZ a traçar o gráfico para y = (x^{2} - 4)/(x + 2). Existem várias modificações necessárias. O gráfico se parece com a linha y = x - 2. Como obtenho pontas de seta em ambas as extremidades do gráfico desta função?

Como faço para obter o rótulo $x$ no eixo x posicionado abaixo e ligeiramente à direita da ponta da seta direita, e como faço para obter o rótulo $y$ no eixo y posicionado acima e ligeiramente à direita do ponta de seta superior? Como faço para colocar a marca "-2" em scriptstyleuma caixa branca - não quero que a linha tracejada entre os pontos (-2,0) e (-2,-4) seja desenhada sobre ela. Como faço para encurtar o eixo y? Está desenhado muito baixo.

Tenho dois comandos no código para os eixos: xmax=8,ymax=7e restrict y to domain=-7:10. O que eles instruem o TikZ a desenhar? Por que não existem xmincomandos ymin?

\documentclass[10pt]{amsart}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}


\begin{document}

\hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[axis equal image,
          xmax=8,ymax=7,
          axis lines=middle,
          restrict y to domain=-7:7,
          enlargelimits={abs=1cm},
          axis line style={latex-latex},
          ticklabel style={fill=white},
          ytick=\empty,
          xtick={-2}
          %xlabel=$x$,ylabel=$y$,
]
\addplot[domain=-10:10,mark=none,samples=10] {x - 2} node [above left, yshift=3pt]{$\scriptstyle{y}=\frac{x^{\scriptscriptstyle{2}} - 4}{x + 2}$};
\draw [thin,dashed] (-2,0) -- (-2,-4);
\draw [fill=white] (-2,-4) circle [radius=1.5pt] node[left]{$\scriptstyle{(-2, \, -4)}$};
\end{axis}
\end{tikzpicture}
\hspace{\fill}

\end{document}

Responder1

Você já deve ter percebido isso, mas caso alguém veja isso e se pergunte.

  • Pontas de seta: o mesmo método que você usou essencialmente para os eixos, adicione <->às \addplotopções.
  • Posição dos rótulos dos eixos: mude as âncoras com

    xlabel style={anchor=north west},
    ylabel style={anchor=south west}
    
  • Tamanho da fonte do rótulo do tick: adicione font=\scriptsizeao ticklabel style.
  • Ticklabel abaixo da linha: a maneira simples é adicionar axis on topopções axis.
  • xmin/ ymin: Não entendo por que você diz que essas chaves não existem. Eles fazem. E a configuração yminé como você encurtaria o eixo y.
  • restrict y to domain: faz exatamente o que diz, eu acho, filtra os valores y fora do domínio fornecido.

insira a descrição da imagem aqui

\documentclass[10pt]{amsart}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
          axis on top, % added
          axis equal image,
          xmax=8,ymax=7,
          xmin=-3,ymin=-4,
          axis lines=middle,
          restrict y to domain=-7:7,
          enlargelimits={abs=1cm},
          axis line style={latex-latex},
          ticklabel style={fill=white,font=\scriptsize}, % added font
          ytick=\empty,
          xtick={-2},
          xlabel=$x$,ylabel=$y$,
          xlabel style={anchor=north west}, % added
          ylabel style={anchor=south west}, % added
]
\addplot[domain=-10:10,mark=none,samples=10,<->] {x - 2} node [above left, yshift=3pt]{$\scriptstyle{y}=\frac{x^{\scriptscriptstyle{2}} - 4}{x + 2}$};
\draw [thin,dashed] (-2,0) -- (-2,-4);
\draw [fill=white] (-2,-4) circle [radius=1.5pt] node[left]{$\scriptstyle{(-2, \, -4)}$};
\end{axis}
\end{tikzpicture}
\end{document}

informação relacionada