我有第二个 y 轴,即“(紫色) q 轴”。
我必须设置什么才能将第二个 y 轴通过 (1,0) 放置在原始坐标系 (黑色) 上。
\documentclass[margin=5pt, tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[]
\begin{axis}[
x=3cm, % needed
%y=1cm,
axis lines=middle,
xlabel= $\overline{x}$,
ylabel= $\overline{y}$,
axis line style={-latex},
]
\addplot[domain=0.05:2.5, black]{-(1-x)^2/x};
\addplot[domain=-2.5:-0.05, black]{-(1-x)^2/x};
\end{axis}
\begin{axis}[purple,
hide x axis,
axis lines*=middle,
ylabel= $q$,
y label style={rotate=-90,
at={(ticklabel* cs:0.95)}, anchor=west, },
% Problem ===================
shift={(3cm,0)}, % ???
]
\end{axis}
\end{tikzpicture}
\end{document}
答案1
我认为你可以添加
\coordinate (axis2origin) at (1,0);
到第一个axis
环境,以及
anchor=origin,
shift={(axis2origin)},
到第二个选项。正如您所料,第二个轴的原点将位于第一个轴的 (1,0)。
\documentclass[margin=5pt, tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}[]
\begin{axis}[
x=3cm, % needed
%y=1cm,
axis lines=middle,
xlabel= $\overline{x}$,
ylabel= $\overline{y}$,
axis line style={-latex},
]
\addplot[domain=0.05:2.5, black]{-(1-x)^2/x};
\addplot[domain=-2.5:-0.05, black]{-(1-x)^2/x};
\coordinate (axis2origin) at (1,0);
\end{axis}
\begin{axis}[purple,
hide x axis,
axis lines*=middle,
ylabel= $q$,
y label style={rotate=-90,
at={(ticklabel* cs:0.95)}, anchor=west, },
% Problem ===================
anchor=origin,
shift={(axis2origin)},
% ???
]
\end{axis}
\end{tikzpicture}
\end{document}