我正在用 pgfplots 绘制一个简单的散点图,其中还包括一个图例,如下图上部所示。
但是,我发现水平间距很奇怪,因为符号和相应描述之间的距离与下一个描述相同。我希望它在图片的下半部分像“伪造的”一样。
以下代码给出了一个简单的示例。以下是描述A B C D。
\documentclass{scrartcl}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[legend columns=-1, legend pos=outer north east]
\addplot+ coordinates {(0,0) (0,1)};
\addplot+ coordinates {(1,0) (0,0)};
\addplot+ coordinates {(0,0) (1,1)};
\addplot+ coordinates {(1,1) (0,0)};
\legend{a,b,c,d};
\end{axis}
\end{tikzpicture}
\end{document}
如果我理解手册没有错的话,图例是由一个矩阵组成的。但是,我不知道如何相应地更改间距。非常感谢您的帮助 ;)
答案1
最简单的方法是指定text width
图例中的标签。请参阅下面的第二个示例。
\documentclass{scrartcl}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[legend columns=-1, legend pos=outer north east]
\addplot+ coordinates {(0,0) (0,1)};
\addplot+ coordinates {(1,0) (0,0)};
\addplot+ coordinates {(0,0) (1,1)};
\addplot+ coordinates {(1,1) (0,0)};
\legend{a,b,c,d};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[legend columns=-1, legend pos=outer north east,
legend style={text width=2em,text height=1.5ex,text depth=.5ex}]
\addplot+ coordinates {(0,0) (0,1)};
\addplot+ coordinates {(1,0) (0,0)};
\addplot+ coordinates {(0,0) (1,1)};
\addplot+ coordinates {(1,1) (0,0)};
\legend{a,b,c,d};
\end{axis}
\end{tikzpicture}
\end{document}
我添加了text height
以使所有字母位于一条均匀的基线上。为了统一,我还指定了text depth
,尽管pgfplots
已经设置了一个。