tikzscale 包不适用于组图

tikzscale 包不适用于组图

我正在尝试缩放使用组图的 pgfplots,但有些东西无法正常工作。这是 MWE:

\documentclass{article}
\usepackage[%
  total={6in,9in},%
  body={111.5mm,185.6mm},%
  head=10pt,
  centering,showframe,
]{geometry}
\usepackage{showframe}

\usepackage{pgfplots}
\usepgfplotslibrary{groupplots, colorbrewer}
\usepackage{tikzscale}


\begin{document}
\includegraphics[width=1.\linewidth,axisratio=1]{group_plot.tikz}
\input{group_plot.tikz}
\end{document}

该文件group_plot.tikz很简单:

\begin{tikzpicture}[]

\begin{groupplot}[cycle list/Dark2, group style={group name=myplot, group size= 2 by 1, horizontal sep=0.5em}, every axis plot/.append style={line width=0.4mm, line join=round},
      axis lines = middle,
      enlargelimits = true,
      x axis line style = {thick,-stealth},
      y axis line style = {thick,-stealth},
       legend style={font=\footnotesize, at={(0.61,0)}, anchor=south, draw=none, yshift=-23pt, fill=white, fill opacity=0.9, 
      /tikz/every even column/.append style={column sep=0.2cm}},
      legend columns=3,
      xmin=-1,xmax=1,
      ymin=-1,ymax=1.,
%      every axis x label/.style={at={(current axis.east)}, yshift=3pt},
]

\nextgroupplot[
      cycle list name = Dark2,
      xlabel=$\xi$,
      ylabel={$\xi^i$},
      xtick={-1,1},
      ytick={1},
      every axis y label/.style={at={(current axis.north)}, xshift=8pt,yshift=-2pt},
    ]
    % use TeX as calculator:
    \addplot + [mark=none, domain=-1:1] {x};
\nextgroupplot[
      cycle list name = Dark2,
      xlabel=$\xi$,
      ylabel={$L_i(\xi)$},
      xtick={-1,1},
      ytick={1},
      every axis y label/.style={at={(current axis.north)}, xshift=15pt,yshift=-2pt},
    ]
    % use TeX as calculator:
    \addplot + [mark=none, domain=-1:1] {x};        
\end{groupplot}
\draw[red] (current bounding box.south west) rectangle (current bounding box.north east);
            
\end{tikzpicture}

我得到了一个没有意义的结果是错误的:

./group_plot.tikz:36:包 pgfplots 错误:错误:绘图宽度“-6.1997pt”太小。在保持标签大小不变的情况下无法实现此操作。抱歉,标签大小仅为近似值。您需要调整宽度。

结果如下:

在此处输入图片描述

答案1

我不太确定这是否是您想要的解决方案。但我编译时得到了相同的消息,如下-6.1997pt所示,我只是做了一些小改动链接的答案在评论中引用,我只会展示代码的这些部分,其余部分保持完整。

变化

变化如下:

  1. 在您的主文件中,\pgfplotsset{compat=1.10}。这不是强制性的,但结果看起来更好。
\usepackage{pgfplots}
\pgfplotsset{compat=1.10} % add
  1. 在您的group_plot.tikz添加以下行到\begin{groupplot}
\begin{groupplot}[
...
% add
  width=1/2*\textwidth-2.5cm,
  height=2.5cm
]

您可以编辑这些值以获得您想要的结果。

我注意到这些行不在您的组定义中,但它们在原始行中,此外,日志消息写了一些关于height和的内容width,所以这是我最好的猜测。

  1. 不是强制性的,但我将图形的尺寸从 1 缩小到0.9 \linewidth\includegraphics[width=0.9\linewidth,axisratio=1]{group_plot.tikz}

结果

\pgfplotsset{compat=1.10}

在此处输入图片描述

没有 \pgfplotsset{compat=1.10}

在此处输入图片描述

相关内容