如何调整 PGFplots 中图例的列宽?

如何调整 PGFplots 中图例的列宽?

我想调整 PGFplots 中图例线(图像)的宽度。由于图例是一个 TikZ 矩阵,我可以通过更改矩阵样式来调整线条之间的间隔、文本和线条之间的间距。我试图找到一个矩阵样式属性来更改每个单元格(这里是图例线所在的单元格)的宽度,但找不到任何答案。这是一个示例代码:

\documentclass{article}
\usepackage{pgfplots}

\pgfplotsset{
    compat=newest,
    plot coordinates/math parser=false,
    every axis/.append style={
        tick label style={font=\scriptsize}, % new bit
        label style={font=\scriptsize}, % new bit
        legend style={font=\scriptsize,row sep=-0.1cm,/tikz/every odd column/.append style={column sep=0.01cm}},% new bit
        xlabel shift=0.5em,
        ylabel shift=-0.5em
    }
}
\begin{document}

\begin{tikzpicture}
    \begin{axis}[%
        xlabel={XLABEL},
        ylabel={YLABEL},
        axis lines*=left,
        ylabel absolute, ylabel style={yshift=-1em}]
        \addplot+[mark=none] plot {x^2};
        \addlegendentry{a}
        \addplot+[mark=none] plot {1};
        \addlegendentry{b}
        \addplot+[mark=none] plot {x};
        \addlegendentry{c}
    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

所以我的问题是如何调整图例中的线条(图像)?

答案1

如果我理解正确的话,您不是要调整包含线条的图例列的宽度,而是要增加线条本身的长度。您可以通过添加选项来实现这legend image post style={xscale=2}一点axis

\documentclass{article}
\usepackage{pgfplots}

\pgfplotsset{
    compat=newest,
    every axis/.append style={
        legend image post style={xscale=2}
    }
}
\begin{document}

\begin{tikzpicture}
    \begin{axis}
        \addplot+[mark=none] plot {x^2};
        \addlegendentry{a}
        \addplot+[mark=none] plot {1};
        \addlegendentry{b}
        \addplot+[mark=none] plot {x};
        \addlegendentry{c}
    \end{axis}
\end{tikzpicture}

\end{document}

相关内容