我已经使用下降示波器进行了测量,并将字段导出到 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}