使用 csv 文件中的时间坐标

使用 csv 文件中的时间坐标

我已经使用下降示波器进行了测量,并将字段导出到 csv 文件。

我现在想用 绘制这个测量值的图形pgfplots

测量于时间t0=-6e-7秒开始,于时间秒结束tf=3.4e-6

不幸的是,这个时间坐标没有随示波器输入通道记录的电压一起输出。这是该示波器型号所固有的。

因此我前往 Mathematica 并调用以下命令:

t = Subdivide[-6*^-007, 3.4*^-006, 10000 - 1];

即创建一个长度为 10000 个实体的数字列表,起始于-6e-7并结束于+3.4e-6。我将这个新的时间数据附加到我的 csv 文件中,使其如下所示:

% myData.csv
t,ch1,ch2
-0.0000006, -0.015810277,   -0.11067194
-0.000000599599959995999,   0.023715414,    -0.11067194
-0.000000599199919991999,   0.023715414,    -0.031620555
-0.000000598799879987998,   0.0039525693,   0.12648222
-0.000000598399839983998,   0.023715414,    0.047430828
...
and so on, 10000 rows long.

编译我的 pgfplots 文件,

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=-6e-7,xmax=3.4e-6,
ymin=-5,ymax=30,
]
\addplot [green] table[x=t,y=ch1,col sep=comma] {path/to/file/myData.csv};
\addplot [blue] table[x=t,y=ch2,col sep=comma] {path/to/file/myData.csv};
\end{axis}
\end{tikzpicture}
\end{document}

编译时间很长,导致我的 TeXworks 应用程序停止响应,但更重要的是,我得到了多个类似的错误

NOTE: coordinate (7.32E-07,) has been dropped because of a coordinate filter. ( see also unbounded coords=jump).

我明确指定了每个轴的域,正如您在上面的代码中所看到的。

这是什么原因?如能得到任何帮助我将非常感激。

在这种情况下,简单地绘制

(1,ch1(1) ), (2, ch1(2) ) , (3, ch1(3) ), (4,ch1(4) ) , .... , (10000,ch1(10000) )

编辑:

这是否与存在多个时间坐标(据称是t=-5.99e-7几秒)有关?

看看下面的两个截图。在 vim 编辑器中,t 的第二行显示,-6e-7而生成此文件的 vim 显示的电子表格中的第二行显示为t=-0.000000599599959995999

截图

答案1

这不是错误,pgfplots只是告诉您数据文件中的某些行尚未绘制。您或许应该检查一下数据文件,您展示的一个示例表明这些行已从(7.32E-07,)绘图中删除。请注意,没有 y 值,这可能意味着文件中没有 y 值。

下面的例子显示了最后一行的相同注释,即1, ,

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot [green] table[x=t,y=ch1, col sep=comma] {
t,ch1,ch2
-0.0000006, -0.015810277,   -0.11067194
-0.000000598399839983998,   0.023715414,    0.047430828
1, , 
};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容