我知道如何制作histogram in gnuplot,但当数据位于单个文件时,我看到的所有说明都有效。我的问题是我的数据跨越几个文件。有没有办法用gnuplot
?
答案 0 :(得分:3)
不是真的。 Gnuplot真的只擅长处理一个文件。但是,有许多有用的外部工具可以将文件组合在一起:
plot "<magic_external_tool file1 file2 file3 file4 ..." ...
当然,您选择的外部工具是一个关于如何格式化文件的问题。如果备用证(awk
,sed
,join
,cat
...)不起作用,我通常会依赖python
来编写快速脚本做这项工作,但我相信很多其他人会使用perl
或java
之类的东西。使用什么工具并不重要,只要你可以哄它将格式正确的文件写入标准输出,你就是金色。
答案 1 :(得分:1)
正如mgilson所说,这在gnuplot中确实不可能。
你可能想要考虑的一件事(我在这里有偏见,因为我是该项目的作者)是Pyxplot http://www.pyxplot.org.uk,它是由一群gnuplot用户编写的,他们对像这个。像gnuplot一样,它是免费和开源的,它的语法实际上是相同的。
根据您的需要,它有一个直方图命令,它生成一个数学函数,表示根据提供的数据计算的直方图(参见http://pyxplot.org.uk/current/doc/html/sec-histogram.html)。你可以按照以下方式做点什么:
histogram f1() 'file1.dat'
histogram f2() 'file1.dat'
histogram f3() 'file1.dat'
plot f1(x) + f2(x) + f3(x)
答案 2 :(得分:1)
在我看来,你确实可以使用Gnuplot这样做,我就是这么做的。我使用的解决方案可以在这里找到:https://stackoverflow.com/a/11092650/448700