pgfplots:文件中数据值的相关性有效,但有错误

pgfplots:文件中数据值的相关性有效,但有错误

也许我不想只见树木不见森林,但我总是收到编译以下 pgf 代码的错误消息,而输出看起来应该是这样的。有人看到我的代码有什么问题吗?(下载 tex 文件和 test.dat

\documentclass[
    a4paper,
    DIV13,
    12pt,
    oneside,
    onecolumn,
]{scrbook}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usepackage{pgfplots}
\usepgflibrary{shapes.geometric}
\usetikzlibrary{patterns,arrows}
\pgfplotsset{%
compat=newest,    
every axis legend/.append style={draw=none, font=\scriptsize, column sep=5pt},    
ymajorgrids=true,
}

\begin{document}

\begin{figure}[htb]
\centering
\footnotesize
\begin{tikzpicture}
\begin{axis}[
    enlargelimits=0.2,
    ylabel=Altersgruppe,
    xlabel=Lautanzahl pro 150 Wörter,
    width=9cm,
    height=9cm,
    ymin=4,
    xmin=460,
    xmax=620,
    enlarge x limits=0.07,
    enlarge y limits=0.07
    ]

    \addplot [black, only marks, mark options={scale=1}, mark=*] file {test.dat};

\end{axis}
\end{tikzpicture}

\caption{correlation}
\label{correlation}
\end{figure}

\end{document}

答案1

我回溯了 TeX 的步骤,发现它在 test.dat 的第一个条目上存在问题——它发现了一些奇怪的东西,而不是 477。更详细地查看文件后发现,它包含一个字节顺序标记(特定于 unicode)。

我在 vim 中打开了该文件,并使用了set nobomb(无字节顺序标记)并保存了该文件。之后,它就起作用了。

显然,pgfplots 不适用于包含字节顺序标记的数据文件。

无论如何,Mac 文件结尾与它无关 - 并且 UTF-8 也可以,只要您不包含字节顺序标记(但作为副作用,切换到 latin1 也会删除 bom)。

相关内容