pgfplot - 当图例宽度设置在外部时,保持图例宽度为 \linewidth

pgfplot - 当图例宽度设置在外部时,保持图例宽度为 \linewidth

我正在使用 pgfplots,但我想将图例放在图表旁边。

这很容易通过设置图例风格。但我也希望情节尽可能大。

所以如果我的标签太长,它们就不适合放在文档中。

参见以下代码和图表:

\documentclass[a4paper,11pt]{article}
\usepackage{pgfplots}

\pgfplotsset{grid=both,width=\linewidth}    
\begin{document}

\begin{tikzpicture}
\begin{axis}[legend style={at={(1.02,1)},anchor=north west}]
  \addplot {x};
  \addlegendentry{long long long long long long}
  \addplot {x*2};
  \addlegendentry{not long}
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

编辑:

我找到了一个解决方案!有一个名为 usepackagetikzscale这使得可以使用包括图形使用 tikz。不过需要先安装 usepackage,我通过MikTex 包管理器

以下是其工作原理的一个例子:

首先,你在 .tikz 文件中制作你的图表:

温度.tikz

\begin{tikzpicture}
\begin{axis}[legend style={at={(1.02,1)},anchor=north west}]
  \addplot {x};
  \addlegendentry{short short}
  \addplot {x*2};
  \addlegendentry{not long}
\end{axis}
\end{tikzpicture}

temp2.​​tikz

\begin{tikzpicture}
\begin{axis}[legend style={at={(1.02,1)},anchor=north west}]
  \addplot {x};
  \addlegendentry{long long long long long long}
  \addplot {x*2};
  \addlegendentry{not long}
\end{axis}
\end{tikzpicture}

然后将它们包含到你的 .tex 中:

\documentclass[a4paper,11pt]{article}
\usepackage{pgfplots}
\usepackage{tikzscale}

\pgfplotsset{grid=both} 
\begin{document}

\includegraphics[width=\linewidth,height=10cm]{temp.tikz}

\includegraphics[width=\linewidth,height=10cm]{temp2.tikz}

\end{document}

结果如下: 在此处输入图片描述

相关内容