如何绘制测量信号?即大量点

如何绘制测量信号?即大量点

到目前为止,我使用 TikZ/PFGplots 绘制小部分(模拟)信号、绘制方案等,但当涉及到实际测量的信号(例如 10 kHz)时,您很容易就会得到数百万个点。很快你就会遇到TeX 容量超出,抱歉 [主内存大小=54000000]-错误。虽然明显的解决方法是超出内存(不推荐)或使用externalize(仅在渲染多个图像时有用),但对于原始数据来说,这两者都不是实用的解决方案。

虽然它在 100,000 (1e5) 行(每行包含 x 和 y 值)时运行良好,但如果行数更多,就会中断。但是,假设 10kHz,这相当于最大 10s 的信号...

问:有没有一种有效的方法可以在 TeX 中绘制大信号?

MWE:(假设文件中的数据data.csv有两列xy

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
    \begin{tikzpicture}
    \begin{axis}
        \addplot table [mark=none,x=x, y=y, col sep=comma] {data.csv};
    \end{axis}
    \end{tikzpicture}
\end{document}

对于文件data.csv。拿这个在此处归档或者使用 MATLAB 代码片段自己重现该文件:

x = (1:1e6).';
y = awgn( ((x-1/3*length(x))/length(x)*10).^2,20,'measured');
writetable(table(x,y),'data.csv');

我想知道是否有一个脚本可以对数据进行下采样,但自动保留最重要的点。特别是我想spy对数据进行下采样,它需要该区域的原始分辨率...

相关内容