漸近線の描画とラベル付け

漸近線の描画とラベル付け

有理関数 y=(x+1)/(x-1) の漸近線にラベルを付けるにはどうしたらよいでしょうか。\draw[dashed,latex-latex] ({{1,0}}|-{{axis description cs:1,1}}) -- ({{1,0}}|-{{axis description cs:1,0}})別の投稿からコードをコピーしました。このコーディングについてはマニュアルを参照しました。マニュアルから得た唯一の「こと」は、「軸の説明 cs」が「座標系 (cs)」の説明であり、{1,1} がボックスの右上隅を指すということです。「|-」は、TikZ に垂直線を描くように指示していると思います。

TikZ で水平漸近線 y=1 を描画するようにコードを変更する方法がわかりません。下の矢印の先に「x=1」というラベルを配置し、左の矢印の先に「y=1」というラベルを配置するにはどうすればよいでしょうか。

\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

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

\begin{document}

\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
    axis lines=middle,
    xmin=-15,xmax=15,
    xlabel=$x$,ylabel=$y$,
    ymin=-10,ymax=10,
    restrict y to domain=-12:12,
    enlargelimits={abs=1cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    xtick={-3}
]
/pgfplots/xlabel shift={10pt};
\addplot[samples=250,domain=-15:15] {(x+2)/(x-1)};
\draw[dashed,shorten <=2ex, shorten >=2ex,latex-latex] ({{1,0}}|-{{axis description cs:1,1}}) -- ({{1,0}}|-{{axis description cs:1,0}});
\draw [fill=white] (-3,0.25) circle [radius=1.5pt] node[left]{};
\end{axis}
\end{tikzpicture}
\vskip0.25in


\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
    axis lines=middle,
    xmin=-15,xmax=15,
    xlabel=$x$,ylabel=$y$,
    ymin=-10,ymax=10,
    restrict y to domain=-12:12,
    enlargelimits={abs=1cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    xtick={-1},ytick=\empty
]
/pgfplots/xlabel shift={10pt};
\addplot[samples=251,domain=-14:16] {(x+1)/(x-1)};
\draw[dashed,shorten <=2ex, shorten >=2ex,latex-latex] ({{1,0}}|-{{axis description cs:1,1}}) -- ({{1,0}}|-{{axis description cs:1,0}});
\end{axis}
\end{tikzpicture}

\end{document}

答え1

nodeを置くにはを使います。さらに に水平線を引くには を使います。x=1y=1y=1\addplot

\addplot[samples=200,dashed,latex-latex,domain=-17:17] {1}node[above,pos=0]{$y=1$};

完全なコード:

\documentclass[10pt]{amsart}
%\usepackage{tikz}      %% These are all not needed
%\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
%\usepackage{tkz-euclide}
%\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

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

\begin{document}

\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
    axis lines=middle,
    xmin=-15,xmax=15,
    xlabel=$x$,ylabel=$y$,
    ymin=-10,ymax=10,
    restrict y to domain=-12:12,
    enlargelimits={abs=1cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    xtick={-3},
    every axis y label/.style=
         {at={(ticklabel cs:1.02,-12pt)},rotate=0,anchor=west},
    every axis x label/.style={
         at={(xticklabel cs:1.02,-8pt)},anchor=south},
]
/pgfplots/xlabel shift={10pt};
\addplot[samples=250,domain=-15:15] {(x+2)/(x-1)};
\draw[dashed,shorten <=2ex, shorten >=2ex,latex-latex] ({{1,0}}|-{{axis description cs:1,1}}) -- ({{1,0}}|-{{axis description cs:1,0}})node[right,pos=0.95]{$x=1$};
\draw [fill=white] (-3,0.25) circle [radius=1.5pt] node[left]{};
\addplot[samples=200,dashed,latex-latex,domain=-17:17] {1}node[above,pos=0]{$y=1$};
\end{axis}
\end{tikzpicture}
\vskip0.25in


\begin{tikzpicture}
\begin{axis}[width=4in,axis equal image,
    axis lines=middle,
    xmin=-15,xmax=15,
    xlabel=$x$,ylabel=$y$,
    ymin=-10,ymax=10,
    restrict y to domain=-12:12,
    enlargelimits={abs=1cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    xtick={-1},ytick=\empty,
    every axis y label/.style=
         {at={(ticklabel cs:1.02,0pt)},rotate=0,},
    every axis x label/.style={
         at={(xticklabel cs:1.02,-8pt)},anchor=south},
]
/pgfplots/xlabel shift={10pt};
\addplot[samples=251,domain=-14:16] {(x+1)/(x-1)};
\draw[dashed,shorten <=2ex, shorten >=2ex,latex-latex] ({{1,0}}|-{{axis description cs:1,1}}) -- ({{1,0}}|-{{axis description cs:1,0}})node[right,pos=0.95]{$x=1$};
\addplot[samples=200,dashed,latex-latex,domain=-17:17] {1}node[above,pos=0]{$y=1$};

\end{axis}
\end{tikzpicture}

\end{document}

ここに画像の説明を入力してください

答え2

構文は、を通る垂直線と を通る水平線(c1 |- c2)の交点の座標を使用するように TikZ に指示します。言い換えると、 から始めて、 の隣になるまで上または下 (y 方向) に移動します。これが指定するポイントです。c1c2c1c2

同様に、(c1 -| c2)を通る水平線c1および を通る垂直線と交差しますc2

これについては、PGF マニュアル (PGFplots マニュアルではありません) のセクション 13.3「交差点の座標」で詳しく説明されています。

関連情報