Gabriel
Gabriel

Reputation: 42349

gnuplot - Make a histogram with data located in multiple files

I know how to make a histogram in gnuplot, but all the instructions I've seen are valid when the data is located in a single file. My problem is that my data spans several files. Is there any way to do this with gnuplot?

Upvotes: 0

Views: 3176

Answers (3)

ggustafsson
ggustafsson

Reputation: 633

It seems to me that you can indeed do this using just Gnuplot, I just did it. The solution I used can be found here: https://stackoverflow.com/a/11092650/448700

Upvotes: 1

Dominic Ford
Dominic Ford

Reputation: 234

As mgilson says, this isn't really possible in gnuplot.

One thing you might want to consider (and I'm biased here as I'm an author of the project) is Pyxplot http://www.pyxplot.org.uk, which was written by a group of gnuplot users who were frustrated with problems like this. Like gnuplot, it's free and open source, and it's syntax is virtually identical.

For your needs, it has a histogram command, which produces a mathematical function representing a histogram computed from supplied data (see http://pyxplot.org.uk/current/doc/html/sec-histogram.html). You can do something along the lines of:

histogram f1() 'file1.dat'
histogram f2() 'file1.dat'
histogram f3() 'file1.dat'
plot f1(x) + f2(x) + f3(x)

Upvotes: 1

mgilson
mgilson

Reputation: 309949

Not really. Gnuplot is really only good at dealing with one file at a time. However, there are many useful external tools which could combine the files together for you:

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

of course your choice of external tool is a question of how your files are formatted already. If the standbys (awk, sed, join, cat ...) don't work, I often rely on python to write a quick script to do the job, but I'm sure many other people would use something like perl or java. It really doesn't matter what tool you use, as long as you can coax it to write a properly formatted file to standard output, you're golden.

Upvotes: 3

Related Questions