\addplot 中的线性和非线性函数可获得独特的图例

\addplot 中的线性和非线性函数可获得独特的图例

我有一些函数,它们有两个区间,一个是线性的,另一个是非线性的。我想在命令中使用这些函数\addplot函数pgf图,只得到一个图例。我尝试将它们分开写入,但图例输出将每个图例识别为不同的函数。

基本上,我有两个要绘制的函数图,并且图例必须对此进行描述。

请帮我。

我在序言中写道:\usepackage{tikz}\usepackage{pgfplots}

\begin{figure}[!h]
\centering
\caption{Espectro de pseudo-aceleraciones}
\begin{tikzpicture}[domain=0:5]
\begin{axis}[xlabel={Periodo $T$ (s)},ylabel={$S_a$ ($\times$g)}, xmin=0,xmax=5.5,ymin=0,ymax=2,extra y ticks={.3,1.8}]
\addplot[domain=.6:5.5,color=red,very thick]{.18/\x};
\addplot[domain=0:.6,color=red,very thick]{.3};
\addlegendentry{Espectro Inelástico}
\addlegendentry{}

\addplot[domain=.6:5.5,color=red,very thick,dashed]{1.08/\x};
\addplot[domain=0:.6,color=red,very thick,dashed]{1.8};
\addlegendentry{Espectro Elástico}

\end{axis}

\end{tikzpicture}
\end{figure}

答案1

您可以使用forget plot

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}

\begin{document}

\begin{figure}
\centering
\caption{Espectro de pseudo-aceleraciones}
\begin{tikzpicture}[domain=0:5]
\begin{axis}[
  xlabel={Periodo $T$ (s)},
  ylabel={$S_a$ ($\times$g)}, 
  xmin=0,
  xmax=5.5,
  ymin=0,
  ymax=2,
  extra y ticks={.3,1.8}
  ]
  \addplot[domain=.6:5.5,color=red,very thick,forget plot]{.18/\x};
  \addplot[domain=0:.6,color=red,very thick]{.3};
  \addlegendentry{Espectro Inelástico}

  \addplot[domain=.6:5.5,color=red,very thick,dashed]{1.08/\x};
  \addplot[domain=0:.6,color=red,very thick,dashed]{1.8};
  \addlegendentry{Espectro Elástico}
\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}

在此处输入图片描述

答案2

听起来你需要forget plot选项,详见pgfplots:防止单个图被列在图例中

截屏

% arara: pdflatex
% !arara: indent: {overwrite: yes}
\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}[domain=0:5]
    \begin{axis}[xlabel={Periodo $T$ (s)},ylabel={$S_a$ ($\times$g)}, xmin=0,xmax=5.5,ymin=0,ymax=2,extra y ticks={.3,1.8}]
        \addplot[domain=.6:5.5,color=red,very thick]{.18/\x};
        \addlegendentry{Espectro Inelástico}
        \addplot[domain=0:.6,color=red,very thick,forget plot]{.3};
        \addplot[domain=.6:5.5,color=red,very thick,dashed]{1.08/\x};
        \addplot[domain=0:.6,color=red,very thick,dashed]{1.8};
        \addlegendentry{Espectro Elástico}
    \end{axis}
\end{tikzpicture}

\end{document}

相关内容