pgfplots:如何将图例框放在轴的中间

pgfplots:如何将图例框放在轴的中间

我想要类似的东西

legend pos= west, %insted of north west, south east...

因为我不想把它放在角落,而是垂直放在中间。

我怎样才能做到这一点?

答案1

legend pos=south west相当于

legend style={at={(0.03,0.03)},anchor=south west}

因此,通过类比,我们可以制作一个锚定西方的版本,方法是使用

legend style={at={(0.03,0.5)},anchor=west}

示例输出

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.8}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[legend style={at={(0.03,0.5)},anchor=west}]
    \addplot[smooth,mark=*,blue] coordinates {
    (0,2) (2,3) (3,1)
    };
    \addlegendentry{Case 1}
    \addplot[smooth,color=red,mark=x] coordinates {
    (0,0) (1,1) (2,1) (3,2)
    };
    \addlegendentry{Case 2}
  \end{axis}
\end{tikzpicture}

\end{document}

答案2

Pgfplots 手册页179. 使用

legend style={at={(0.97,0.5)},anchor=east}

将其放在轴框内,垂直居中于右侧或(正如 Andrew Swann 在他的回答中所建议的那样)

legend style={at={(0.03,0.5)},anchor=west}

将其放在左边。

相关内容