无法将两个函数放在一个图形中

无法将两个函数放在一个图形中

我试图将两个不同函数的图放在一张图中,但第二个图没有显示在图中。有人发现了错误吗?代码如下:

\documentclass{article}

\usepackage{pgfplots}% This uses tikz
\pgfplotsset{compat=newest}% use newest version

\pgfmathdeclarefunction{FunctionA}{1}{%
  \pgfmathparse{300 + 1000/x + 2.5*x}%
}

\pgfmathdeclarefunction{FunctionB}{1}{%
  \pgfmathparse{290 + 1000/x + 2.45*x}%
}

\tikzset{My Line Style/.style={smooth, thick, samples=400}}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    xmin=0, xmax=750,
    ymin=300, ymax=600,
    axis x line=bottom,
    axis y line=left, 
    xlabel= $y$
    ylabel=Cost,]
    \addplot[My Line Style, color=black, domain=0:250] (\x,{FunctionA(\x)});
    \addplot[My Line Style, color=black, domain=250:500] (\x,{FunctionB(\x)});
\end{axis}
\end{tikzpicture}
\end{document}
\documentclass{article}

答案1

由于绘制了两个函数,并且它们具有不同的范围,因此需要两个(y 轴)坐标的绘图技巧。

这个想法是绘制两个相互叠在一起的轴。一个在左边,一个在右边。关键是scale only axis在每个轴上放置相同的扩展域,以便 x 轴使用相同的扩展域。

axis y discontinuity也在这里使用,以便更好地呈现情节。

在此处输入图片描述

代码

\documentclass{article}
\usepackage{pgfplots}% This uses tikz
\pgfplotsset{compat=newest}% use newest version

\pgfmathdeclarefunction{FunctionA}{1}{%
  \pgfmathparse{300 + 1000/x + 2.5*x}%
}

\pgfmathdeclarefunction{FunctionB}{1}{%
  \pgfmathparse{290 + 1000/x + 2.45*x}%
}

\tikzset{My Line Style/.style={smooth, thick, samples=400}}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={at={(0.53,0.50)}, anchor=north west},
    scale only axis,
    xmin=0, xmax=750,
    ymin=200,
    axis y discontinuity=parallel,
    axis x line=bottom,
    axis y line=left, 
    xlabel= $y$,
    ylabel=Cost,]
    \addplot[My Line Style, color=black, domain=0:250] (\x,{FunctionA(\x)});
\legend{Function A}
\end{axis}
\begin{axis}[
legend style={at={(0.53,0.60)}, anchor=north west},
    scale only axis,
    xmin=0, xmax=750,
    ymin=800,
    axis y  discontinuity=parallel,
    axis x line=bottom,
    axis y line=right, 
    xlabel= $y$,
    ylabel=Cost]
    \addplot[My Line Style, color=red, domain=250:500] (\x,{FunctionB(\x)});
\legend{Function B}
\end{axis}
\end{tikzpicture}
\end{document}

相关内容