我刚开始学习 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
的描述中的文档中可以看出:width
height
请注意,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)