我正在尝试更改 PGF 条形图中单个图例条目的间距。这是我的 MWE:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar]
\addplot coordinates {(1,3) (2,5) (3,2)};
\addlegendentry{(a)}
\addplot coordinates {(1,2) (2,6) (3,1)};
\addlegendentry{(b)}
\addplot coordinates {(1,4) (2,4) (3,4)};
\addlegendentry{(c)}
\end{axis}
\end{tikzpicture}
\end{document}
生成下图
我想要的是在图例中的 (a) 和 (b) 之间创建一个空格,而不在 (b) 和 (c) 之间创建一个空格(也就是说,我不想更改)row sep
。想法是将 (a) 与 (b) 和 (c) 分开,以便在演示中突出 (a) 是一项作品的结果,而 (b) 和 (c) 是另一项作品的结果。
\label
我尝试使用和创建自定义图例\ref
,但是这会将图例中的条形图更改为线条。
答案1
text depth=2ex, anchor=mid
您可以通过以下选项来调整图例条目的间距\addlegendentry
:
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar]
\addplot coordinates {(1,3) (2,5) (3,2)};
\addlegendentry[text depth=2ex, anchor=mid]{(a)}
\addplot coordinates {(1,2) (2,6) (3,1)};
\addlegendentry{(b)}
\addplot coordinates {(1,4) (2,4) (3,4)};
\addlegendentry{(c)}
\end{axis}
\end{tikzpicture}
\end{document}
答案2
这不是最好的解决方案,但你可以添加一个空的图例条目
\addlegendimage{empty legend}
\addlegendentry{}
可以通过在图例条目中添加零宽度规则来增加间距,例如
\addlegendentry{\rule{0pt}{3pt}}
更改3pt
以修改间距。
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar]
\addplot coordinates {(1,3) (2,5) (3,2)};
\addlegendentry{(a)}
\addlegendimage{empty legend}
\addlegendentry{}
\addplot coordinates {(1,2) (2,6) (3,1)};
\addlegendentry{(b)}
\addplot coordinates {(1,4) (2,4) (3,4)};
\addlegendentry{(c)}
\end{axis}
\end{tikzpicture}
\end{document}