图形尺寸与规格不符

图形尺寸与规格不符

我刚开始学习 pgfplots。我试图生成我的数据的方形图,但无法获得正确尺寸的图形,我将其设置为 7 cm x 7cm。pdfinfo 表示尺寸为 186.621 x 181.215 pts。

我搜索了 pgfplots 手册并发现以下内容: “pgfplots 将尝试生成所需的宽度,包括标签、标题和刻度”- 我可能做错了什么,但我也想知道这是否可以解释这种行为。

感谢您的帮助。

下面是我的代码。

\documentclass{standalone}  
\usepackage{tikz}  
\usepackage{pgfplots}  
\usetikzlibrary{backgrounds}  
\pgfplotsset{width= 7cm, height= 7cm, compat=newest}  
\begin{document}  
\begin{tikzpicture}[show background rectangle,tight background]  
\begin{axis}[  
   xlabel=$k$,  
   ylabel={$\beta$},  
   ylabel style=  
    {  
      yshift= -1 mm,   
    },  
    ]
\addplot coordinates {  
    ( 1.5, 1.28 )  
    ( 1.75, 1.43 )  
    ( 2.0, 1.59 )  
    ( 2.25, 1.75 )  
    ( 2.5, 1.91 )  
    ( 2.75, 2.07 )  
    ( 3.0, 2.23 )   
};  

\end{axis}  
\end{tikzpicture}  
\end{document}  

答案1

从和pgfplots的描述中的文档中可以看出:widthheight

请注意,pgfplots 仅估计轴和刻度标签所需的大小。估计假设轴框外的任何内容都有固定的空间量。这会导致最终图像可能比规定的尺寸略大或略小。但是,固定量始终相同;它设置为45pt...

包裹tikzscale通过设置几次来解决问题tikzpicture,以便在不改变字体和线条大小的情况下将其缩放到所需大小。

完整内容tikzpicture放入文件并读取\includegraphics

\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{backgrounds}
\pgfplotsset{compat=newest}
\usepackage{tikzscale}
\usepackage{filecontents}
\begin{document}

\begin{filecontents*}{tikzpicture01.tikz}
\begin{tikzpicture}[show background rectangle,tight background]
\begin{axis}[
   xlabel=$k$,
   ylabel={$\beta$},
   ylabel style=
    {
      yshift= -1 mm,
    },
    ]
\addplot coordinates {
    ( 1.5, 1.28 )
    ( 1.75, 1.43 )
    ( 2.0, 1.59 )
    ( 2.25, 1.75 )
    ( 2.5, 1.91 )
    ( 2.75, 2.07 )
    ( 3.0, 2.23 )
};

\end{axis}
\end{tikzpicture}
\end{filecontents*}

\includegraphics[width=7cm, height=7cm]{tikzpicture01.tikz}
\end{document}

结果

pdfinfo报告一个近乎完美的正方形大小 (7cm ≈ 198.4252 bp):

Page size:      198.428 x 198.424 pts (rotated 0 degrees)

相关内容