默认情况下,tikz 会在线右侧的图例中显示文本,如下图所示。
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend cell align=right
]
\addplot [blue, domain=0:360] {sin(x)};
\addlegendentry{sin and some other text}
\addplot [red, domain=0:360] {cos(x)};
\addlegendentry{cos}
\end{axis}
\end{tikzpicture}
\end{document}
在这种情况下,我希望文本右对齐,如图所示。对我来说,如果红线和蓝线显示在文本右侧,效果会更好。有什么方法可以实现吗?
PS 这是我在 SE 上的第一篇帖子,因此如果有任何方法可以改进我的问题,请告诉我。
答案1
当然有!请参阅legend plot pos
v1.12 手册第 209 页的说明。它采用值legend plot pos=left|right|none
,您可以在其中选择所需的选项之一。PS 您不需要同时加载tikz
和,pgfplots
因为已经pgfplots
加载tikz
。此外,您应该设置兼容性pgfplots
。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend cell align=right,
legend plot pos=right,
]
\addplot [blue, domain=0:360] {sin(x)};
\addlegendentry{sin and some other text}
\addplot [red, domain=0:360] {cos(x)};
\addlegendentry{cos}
\end{axis}
\end{tikzpicture}
\end{document}