GNUPLOT:缓慢绘制大量数据(gnuplot slow when plotting large data set as animation)
我正试图用一个大文本文件制作一个“动画”情节大量数据(1000个粒子的位置),脚本如下:
set terminal wxt size 1000,600 k=999999 N = 999 do for [i=0:k]{ plot for [j=0:N-1] "pos.txt" using 2*j+1:2*j+2 every ::2*i+1::2*i+1 ls 1 pt 7 ps 2 notitle
在文件中,每一行在我想要绘制的点的特定时间都有坐标X和Y. 我正在使用
every
来绘制每行中的所有数据,然后继续前进到下一行。输出是这样的(1000颗粒移动)
然而,绘图太慢了,我不知道我能做些什么来让它更快地绘制。 它每5秒或更长时间绘一行一次。 该文件加权一些MB。 我应该更换终端吗? 还是我存储数据的方式? 我认为当gnuplot加载一个大文件时可能会出现问题。
一些粒子在模拟中消失,所以我也得到了错误line 14: warning: Skipping data file with no valid points
当索引j
(井2j + 1)超过粒子数时line 14: warning: Skipping data file with no valid points
但是我尝试制作它以便它读取每次粒子数量甚至更慢。 非常感谢。I'm trying to make an "animated" plot a lot of data (the position of 1000 particles) from a big text file with a script like:
set terminal wxt size 1000,600 k=999999 N = 999 do for [i=0:k]{ plot for [j=0:N-1] "pos.txt" using 2*j+1:2*j+2 every ::2*i+1::2*i+1 ls 1 pt 7 ps 2 notitle
In the file, every line has the coordinates X and Y at a certain time of the points I want to plot. I'm using
every
to plot all the data in each row once and then move on to the next row.The output is something like this (1000 particles moving)
However the plotting is way too slow and I don't know what I can do to make it plot faster. It plots a row once every 5 or more seconds. The file weights some MBs. Should I change the terminal? Or the way I store the data? I think there might be a problem when gnuplot loads a big file.
Some particles dissappear in the simulation so I also get the errorline 14: warning: Skipping data file with no valid points
when the indexj
(well 2j+1) goes over the number of particles but I tried making it so that it reads the number of particles each time and it's even slower. Many thanks.
原文:https://stackoverflow.com/questions/30853607