为什么“相同大小”的 pgfplots 和数据可视化图如此不同?

为什么“相同大小”的 pgfplots 和数据可视化图如此不同?

考虑下面的 MWE:

\documentclass{standalone}
\usepackage{filecontents}
\usepackage{tikz,pgfplots}
\usetikzlibrary{datavisualization}

\begin{filecontents}{test.csv}
x y
-2 7
-1 2
0 5
1 4
2 8
\end{filecontents}

\begin{document}
\begin{tikzpicture}
\datavisualization
[
scientific axes,
all axes={length=5cm},
x axis={label=x, attribute=x, min value=-2, max value=2},
y axis={label=y, attribute=y, min value=0, max value=10},
visualize as line,
]
data[read from file=test.csv, separator={\space}];
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[height=5cm,width=5cm,
             xlabel=x,xmin=2,xmin=-2,
             ylabel=y,ymin=0,ymax=10,
             enlargelimits=0,tick align=outside]
\addplot[no markers] table[x=x,y=y] {test.csv};
\end{axis}
\end{tikzpicture}
\end{document}

通过将两个图设置为相同widthheight人们会期望得到即使不完全相同,至少非常(非常)相似的结果。相反,结果是这样的:

在此处输入图片描述

我错过了什么?

编辑

怎样才能纠正这个问题?

答案1

似乎widthheightaxis指定了图形的完整尺寸,包括轴标签. (但是,我无法在 pgfplots 手册中确认这一点。编辑:杰克的评论请参阅下面的来源。)

与此相反的,\datavisualization它确实使轴(不包括标签)达到您指定的长度。这似乎也得到了 TikZ 手册的支持(“X然后缩放和移动轴,以使其具有指定的长度”。

使用scale only axispgfplots 可获得与 相同的行为\datavisualization。(感谢 Jake 在评论中指出了这一点。)

相关内容