为 PGFPlots 函数添加强调

为 PGFPlots 函数添加强调

我有一个使用 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}

图示: 在此处输入图片描述

相关内容