在下面的 MWE 中,为什么我的图中没有箭头?
\documentclass[12pt, border=1pc]{standalone}
\RequirePackage{tikz}
\RequirePackage{pgfplots}
\pgfplotsset{compat=newest}
\usetikzlibrary{arrows.meta}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis x line=middle,
axis y line=middle,,
xtick={1.0, 3.0},
ytick={1.0, 3.0},
samples=100,
xmin=-1,xmax=4.5,
ymin=-1,ymax=4.5]
\addplot[domain={-1:4}]{x};
\addplot[domain={-1:4},
postaction={decorate,
decoration={markings,
mark=at position 2 with {\arrow[thick]{>}},
mark=at position 3 with {\arrowreversed[thick]{>}}}
}
]{((x-3)^2 * (x-1)^2) + x};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
Y 轴上的范围限制与您的marks
位置相结合,截断了箭头。
我通过评论任何与情节无关的内容来调试它。
\begin{tikzpicture}
\begin{axis}[axis x line=middle,
% axis y line=middle,
% xtick={1.0, 3.0},
% ytick={1.0, 3.0},
% samples=100,
% xmin=-1,xmax=4.5,
% ymin=-1,ymax=4.5,
]
% \addplot[domain={-1:4}]{x};
\addplot[domain={-1:4},
postaction={decorate, decoration={
markings,
mark=at position 0.65 with {\arrow{>};}
}}
]{((x-3)^2 * (x-1)^2) + x};
\end{axis}
\end{tikzpicture}
箭头正好位于我认为的绘制曲线的 65% 的位置。
通过稍微修改一下代码:
\begin{tikzpicture}
\begin{axis}[
% axis x line=middle,
% axis y line=middle,
% xtick={1, 3.0},
% ytick={1.0, 3.0},
samples=100,
xmin=-1,xmax=4,
ymin=-1,ymax=4.5,
]
% \addplot[domain={-1:4}]{x};
\addplot[domain={-1:4.5},
postaction={decorate, decoration={
markings,
mark=at position 0.65 with {\arrow{>};}
}}
]{((x-3)^2 * (x-1)^2) + x};
\end{axis}
\end{tikzpicture}