Using gnuplot to plot large data set under Windows XP

Discussion in 'Ruby' started by Armin Armbruster, Nov 11, 2008.

  1. Hi,

    I've been using gnuplot for the last little while to plot data and I
    really like it. So far I've been processing my data with ruby and
    generated a csv file, that I then read from a gnuplot script.
    This works fine, but I want to take out the extra step of going through
    a csv file.
    I've been trying to use the gnuplot gem (v. 2.2), however I've been
    running into problems with large data sets.

    Here are two sample programs, that do essentially the same. The
    difference is that the first one calls gnuplot directly, whereas the
    second one generates a gnuplot script file, that can be used by gnuplot.

    Version 1: Calling gnuplot directly from ruby.
    (Note my gnuplot path is: "c:/Program Files/gnuplot/bin/pgnuplot.exe")

    Gnuplot.open do |gp|
    Gnuplot::plot.new( gp ) do |plot|
    x = (0..1500).collect { |v| v.to_f }
    y = x.collect { |v| v ** 2 }
    plot.data =[ Gnuplot::DataSet.new( [x, y] ) do |ds|
    ds.with = "linespoints"
    ds.notitle
    end
    ]
    end
    end


    Version 2: Generating a gnuplot script, that afterward can be called by
    gnuplot

    File.open( "gnuplot.dat", "w") do |gp|
    Gnuplot::plot.new( gp ) do |plot|
    x = (0..1500).collect { |v| v.to_f }
    y = x.collect { |v| v ** 2 }
    plot.data = [Gnuplot::DataSet.new( [x, y] ) { |ds|
    ds.with = "linespoints"
    ds.title = "Array data"
    }]
    end
    end

    Unfortunately the first version doesn't really work. For some reason the
    data gets corrupted. It's almost like gnuplot can't keep up fast enough
    reading the data. I've been playing around with the array size. For
    smaller data sets (a few hundred points) version 1 works fine, but as
    array size increases to 700-800 points I see this problem happening.

    I can work with version 2 for now, but it seems a bit like a kludge to
    me, ideally I'd like to not go through an intermediate file.

    Any ideas would be appreciated.

    Thanks,
    Armin
    --
    Posted via http://www.ruby-forum.com/.
     
    Armin Armbruster, Nov 11, 2008
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Kamil Grymuza

    c++ and gnuplot /under linux

    Kamil Grymuza, May 7, 2005, in forum: C++
    Replies:
    1
    Views:
    1,042
    nagendradh
    Apr 4, 2010
  2. ¶}¾Ç¤F¶Ü?

    plot two data sets on gnuplot

    ¶}¾Ç¤F¶Ü?, May 10, 2004, in forum: Python
    Replies:
    2
    Views:
    997
    Fernando Perez
    May 15, 2004
  3. Dr. Colombes
    Replies:
    1
    Views:
    1,076
    John Hunter
    Feb 10, 2005
  4. Bo Peng
    Replies:
    1
    Views:
    493
    Bo Peng
    Jan 9, 2006
  5. mlt
    Replies:
    7
    Views:
    1,245
    Jerry Coffin
    Sep 5, 2008
Loading...

Share This Page