0

我知道如何在 gnuplot 中制作直方图,但是当数据位于单个文件中时,我看到的所有指令都是有效的。我的问题是我的数据跨越了几个文件。有什么办法可以做到这一点gnuplot吗?

4

3 回答 3

3

并不真地。Gnuplot 真的只擅长一次处理一个文件。但是,有许多有用的外部工具可以为您将文件组合在一起:

plot "<magic_external_tool file1 file2 file3 file4 ..."  ...

当然,您选择的外部工具是您的文件已经格式化的问题。如果备用 ( awk, sed, join, cat...) 不起作用,我经常依靠python编写一个快速脚本来完成这项工作,但我相信很多其他人会使用类似perlor的东西java。你使用什么工具并不重要,只要你能哄它把一个格式正确的文件写入标准输出,你就很成功了。

于 2012-08-23T00:21:59.647 回答
1

正如 mgilson 所说,这在 gnuplot 中是不可能的。

您可能需要考虑的一件事(我是该项目的作者,我在这里有偏见)是 Pyxplot http://www.pyxplot.org.uk,它是由一群感到沮丧的 gnuplot 用户编写的有这样的问题。与 gnuplot 一样,它是免费和开源的,而且它的语法几乎相同。

根据您的需要,它有一个 histogram 命令,它产生一个数学函数,表示从提供的数据计算的直方图(参见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)
于 2012-08-30T12:07:21.537 回答
1

在我看来,你确实可以只使用 Gnuplot 来做到这一点,我就是这么做的。我使用的解决方案可以在这里找到:https ://stackoverflow.com/a/11092650/448700

于 2014-12-16T16:50:57.837 回答