在 PGFplots 轴环境中自定义图例位置

在 PGFplots 轴环境中自定义图例位置

我正在尝试自定义 PGFplots 轴环境中图例的位置。一个简单的方法是使用类似

legend pos=south west|south east|north west|north east

在轴选项中。如果任何方向都不够,我们可以使用

legend style={at={(0.45,0.5)}}

,再次在轴选项中。然而,通过反复试验来获得正确的位置有点烦人且效率低下。此外,我不清楚在哪里

legend style={at={(0,0)}}

是。如果我知道“legend pos”命令使用的坐标,这将对我有所帮助。然后我就已经知道了轴的正确偏移量,我只需要稍微调整其中一个坐标。

有人知道如何检索“legend pos”用于轴环境的坐标吗?

提前致谢!非常感谢 Till Tantau 和 Christian Feuersanger 提供的 TikZ/PGF 和 PGFplots!

答案1

您还必须anchor通过以下方式指定您的图例:

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

定义anchor图例框的哪个点将放置在您用 定义的坐标处at={(<>,<>)}

如果仅使用at={(<>,<>)}插入的坐标,则该坐标是轴框的坐标,其中点(0,0)是左下角和(1,1)右上角。

如果您使用,则at={(axis cs:<>,<>)}指定轴的实际坐标,与您的图相同。

例子

legend style={at={(axis cs:0.5,1)},anchor=south west}给出:

在此处输入图片描述

legend style={at={(1,1)},anchor=north east}给出:

在此处输入图片描述

编辑

说道pgfplots manual

在此处输入图片描述

默认位置是north east。这意味着north east对应于距离轴 2% 轴长度的图例。我想位置也是一样south west,在这种情况下它对应于:

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

相关内容