如果内容大于盒子尺寸,如何调整 Tikzplots 中图例框的大小?

如果内容大于盒子尺寸,如何调整 Tikzplots 中图例框的大小?

标题说明了一切。我有一个 tikzplot。我有一个图例。而且我有一些内容对于图例框来说太大了。请帮忙。这是我的代码:

\begin{figure}[H]
    \centering
    \begin{tikzpicture}
        \begin{axis}%
            [     
            xmin=-7,
            xmax=7,
            axis x line=bottom,
            ymax=7,
            axis y line=middle,
            axis x line=middle,
            domain=-7:7,
            legend style={at={(0.7,0.9)}}     ,
            ylabel=$y$,
            xlabel=$x$,
            ]
            \addplot[red,mark=none]{(x>=0)*x};
            \legend{$   f(x)=\left\{\begin{array}{lll}
                    0 & \text { for } & x<0 \\
                    x & \text { for } & x \geq 0
                \end{array}\right.$}
        \end{axis}
    \end{tikzpicture}
\end{figure}

答案1

这将使用\tiny字体,减少数组列之间的间距,并将图例(西北角)放置在不妨碍的位置。

\documentclass{standalone}
\usepackage{amsmath}
\usepackage{pgfplots}

\begin{document}
    \begin{tikzpicture}
        \begin{axis}%
            [     
            xmin=-7,
            xmax=7,
            axis x line=bottom,
            ymax=7,
            axis y line=middle,
            axis x line=middle,
            domain=-7:7,
            legend style={at={(axis cs: -0.4,5.4)},font={\tiny\arraycolsep=2pt}},
            ylabel=$y$,
            xlabel=$x$,
            ]
            \coordinate (A) at (axis cs: -6,6);
            \addplot[red,mark=none]{(x>=0)*x};
            \legend{$ f(x)=\left\{\begin{array}{lll}
                    0 & \text{for} & x<0 \\
                    x & \text{for} & x \geq 0
                \end{array}\right.$}
        \end{axis}
    \end{tikzpicture}
\end{document}

相关内容