通过 \draw 为曲线添加图例

通过 \draw 为曲线添加图例

我是新用户PGFPlots所以我有以下问题:我在 TikZ 中绘制了一个椭圆,我想为其添加图例。但是,我发现\addlegendentry仅适用于\addplot。那么,我该如何为曲线添加图例呢?

\tikzsetnextfilename{1a}
\begin{tikzpicture}
\begin{axis}[
 xlabel = $\dfrac{M}{M_{bend}}$,
 ylabel = $\dfrac{P}{P_{burst}}$,
  xmin=0,xmax=1.2,
  ymin=0,ymax=1.2,
 ymajorgrids=true,
 xmajorgrids=true,
 grid style=dashed,
 label style={font=\tiny},
 tick label style={font=\tiny},
 legend style={font=\small},
 legend cell align=left,
 legend pos=north east
  ]
 \addplot+[color=red,
 line width=0.3mm] 
 (axis cs:0,0)
   ellipse [
  x radius=0.950052, y radius=0.945021];
\addlegendentry{Analytical results}
 \end{axis}
\end{tikzpicture}

我读到过关于定制传奇的文章 在 PGFplots 轴环境中自定义图例位置,但我不知道如何将其放入轴环境中。

答案1

您可以使用\addlegendimage为命令添加图例\draw。 的参数\addlegendimage与 中使用的样式参数相同,draw例如red,line width=0.3mm。但是,这样使用的问题\draw在于比例不正确,因为它不使用 的坐标系axis

另一个选择是使用 绘制椭圆addplot,这样可以得到正确的尺寸。

\documentclass[tikz,border=5mm]{standalone}
\usepackage{pgfplots,amsmath}

\begin{document}  
\begin{tikzpicture}
\begin{axis}[
 xlabel = $\dfrac{M}{M_{\mathrm{bend}}}$,
 ylabel = $\dfrac{P}{P_{\mathrm{burst}}}$,
  xmin=0,xmax=1.2,
  ymin=0,ymax=1.2,
 ymajorgrids=true,
 xmajorgrids=true,
 grid style=dashed,
 label style={font=\tiny},
 tick label style={font=\tiny},
 legend style={font=\small},
 legend cell align=left,
 legend pos=north east
  ]

\draw[color=red,
 line width=0.3mm] 
 (axis cs:0.6,0.6) % moved to middle of plot to make it more visible
   ellipse [
  x radius=0.950052, y radius=0.945021];

\addlegendimage{line width=0.3mm,color=red}
\addlegendentry{Analytical results}

\addplot [variable=\t,samples=200,domain=0:360] ({0.950052*cos(t)},{0.945021*sin(t)});
\addlegendentry{Parametric analytic}
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容