我的绘图中有多行图例条目。默认样式对图例图像和图例文本都使用居中对齐。我该如何更改以使图例图像与图例文本相邻并居上对齐?
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={
/tikz/nodes={text width=25pt,text depth=},
},
legend entries={%
Some long text,Some other long text
},
]
\addplot {x};
\addplot {1+x};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
您可以anchor=north
对图例中的每个节点使用。更好的办法似乎是anchor=base
与第一行的基线对齐。由于图像的中心位于基线上,我们需要稍微移动它们:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
legend style={
/tikz/every odd column/.style={yshift=2pt},
/tikz/nodes={text width=25pt,text depth=,anchor=base},
},
legend entries={%
Some long text,Some other long text
},
]
\addplot {x};
\addplot {1+x};
\end{axis}
\end{tikzpicture}
\end{document}
我的想法是假设图像仅存在于奇数列中。
注意:由于某种原因,/tikz/
前缀在这种情况下是强制性的(尽管通常不是)。