我有一个使用 PGFPlots 绘制的函数,我想强调一些最大值和一些最小值,如下图所示。我该如何实现?(抱歉,如果重复了,但我的英语水平不够好,无法找到有关它的更多信息)。
公平警告:我是 PGFPlots 的新手,所以如果您回答,请考虑解释代码的作用,以便我更好地理解。
这是我的代码:
\begin{tikzpicture}
\begin{axis}[axis x line=center, axis y line=center,
xmin=-1.5,xmax=9.5,ymin=-20,ymax=50, xlabel = {$x$},ylabel = {$y$}, ticks=none]
\addplot[smooth,domain=-1.25:8] plot (\x,{(\x-4)*(\x-7)*(\x+1)});
\end{axis}
\end{tikzpicture}
这是生成的图像(左)和我想要实现的效果(右) - 我使用 LibreOffice Draw 添加虚线和额外信息。
答案1
正如 AJN 所评论的,您可以使用轴的坐标系,并使用常规 tikz 命令在点之间绘制线条。代码如下:
\documentclass{standalone}
%
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis x line=center, axis y line=center,
xmin=-1.5,xmax=9.5,ymin=-20,ymax=50,
xlabel = {$x$},ylabel = {$y$}, ticks=none ]
\addplot[smooth,domain=-1.25:8] plot (\x,{(\x-4)*(\x-7)*(\x+1)});
\draw [dashed] (0,36) node[left] {$y_1$} -- (1,36) --
(1,0) node[below] {$x_1$} ;
\draw [dashed] (axis cs: 5.7,0) node[above] {$x_0$} --
(axis cs: 5.7,-15) -- (0,-15) node[left] {$y_0$} ;
\end{axis}
\end{tikzpicture}
\end{document}