
Até agora usei TikZ/PFGplots para traçar pequenas porções de sinais (simulados), desenhar esquemas, etc. mas quando se trata de sinais realmente medidos (por exemplo, em 10 kHz), você facilmente acaba com milhões de pontos. Muito rápido você se depara com oCapacidade do TeX excedida, desculpe [tamanho da memória principal=54000000]-erro. Embora a solução óbvia seja exceder a memória (não realmente recomendada) ou usar externalize
(útil apenas se você renderizar várias imagens), ambas não são uma solução prática para dados brutos.
Embora funcione bastante bem com 100.000 (1e5) linhas (cada uma contendo valores xey), mas quebra se você for muito maior. No entanto, assumindo 10kHz, isso se traduz em um sinal de no máximo 10s...
P: Existe uma maneira eficiente de plotar sinais grandes no TeX?
MWE: (assumindo os dados em um arquivo data.csv
com duas colunas x
e y
)
\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}
Para o arquivo data.csv
. Pegue issoarquivo aquiou use o trecho de código MATLAB para reproduzir o arquivo você mesmo:
x = (1:1e6).';
y = awgn( ((x-1/3*length(x))/length(x)*10).^2,20,'measured');
writetable(table(x,y),'data.csv');
Fiquei me perguntando se existe um script para reduzir a resolução dos dados, mas mantendo os pontos mais significativos automaticamente. Em particular quero spy
nos dados, é necessária a resolução original nesta área...