我正在使用Gnuplot绘制图形。 事情就是这样,由于高记忆用量,它不能正常工作,或在几分钟内被杀死。
我的笔记本电脑内存为4GB。文件大小约为1GB到1.5GB。 实际上,我是C语言和gnuplotting的初学者。我无法理解的是,为什么这个看起来很简单的'工作需要很多回忆。它只是匹配t和x之间的点。
我将在下面写下文件的一部分。我在终端上写下的代码是;
plot "fl1.dat" u 1:2 linetype 1.
1.00000e + 00 1.88822e-01
2.00000e + 00 3.55019e-01
3.00000e + 00 -1.74283e + 00
4.00000e + 00 -2.67627e + 00
...
...
...
我唯一可以做的就是添加更多内存,或者在实验室中使用计算机?
谢谢。
答案 0 :(得分:3)
绘制数据文件以查看某些数量的整体或全局行为,而不是您可以从数据文件中看到该值的本地行为。这说,在你的情况下,我认为你不需要从文件中绘制每一个点,因为文件是巨大的,并且绘制它们似乎毫无意义。因此,我建议如下:
pl 'fl1.dat' u 1:2 every 10
这将仅绘制每10个点,但如果有两个很多点间隔非常精细,那么这仍然会很好地显示该情节的全局行为。请记住,这不会连接各个点。如果你仍然想要一条连续线,我建议用其中的每个第10个文件创建另一个数据文件,然后像往常一样用线条绘制它。
答案 1 :(得分:1)
另外需要注意的是output terminal的选择会对内存消耗产生巨大影响:交互式窗口或矢量格式会消耗更多 (我猜是因为这些格式保持不变跟踪每一个数据点,尽管如和平所强调的那样,你可能不需要所有这些点)。因此,减少内存消耗的一种快速方法可能是将输出终端设置为适度大小的png,例如:
set terminal png size 1000,1000
set output "mygraph.png"