::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Simple Plotting Software?

October 12th, 2011
tech  [html]
When trying to understand data, looking at it in graphical form is incredibly useful. When looking at raw data it is difficult to get a sense of the overall patterns. Summary statistics can be misleading. Yesterday I wanted to look at some data. My graphing process was:
    # prepare data on the command line into a stream of lines as "xval yval"
    $ emit_data | head -n 3
    4 7
    8 9
    2 200

    # use awk to send the xvals to one file and the yvals to another
    $ (emit_data | awk '{print $1}' | tr '\n' ' ' ; echo) > xvals.txt
    $ (emit_data | awk '{print $2}' | tr '\n' ' ' ; echo) > yvals.txt

    # in octave open the files as two vectors and plot them
    $ octave
    > xvals = load("xvals.txt");
    > yvals = load("yvals.txt");
    > plot(xvals, yvals);

As you can tell, this is annoying. I would prefer to be able to simply write:

    $ emit_data | plot

Is there a program that can do this?

Update 2011-10-12: Adam Yie writes that gnuplot can do what I want:
   emit_data | gnuplot -persist -e "plot '-'"
I've now added an alias to my ~/.bash_profile:
  alias plot='gnuplot -persist -e "plot '\'-\''"'

Some other features that would be nice, and that I would probably include if writing this myself:

  • interpret single column data as if it were the output of "emit_data | cat -n"
  • if given filenames instead of standard input, plot them on the same chart ( plot <(emit_data_a) <(emit_data_b))
  • allow non-numeric X vals
  • interpret data in the format 'YYYY-MM-DD" as dates

Further, it would be nice to be able to specify some options, though I definitely don't want them required:

  • points vs lines
  • x and y ranges
  • chart width and height
  • colors
  • output file if not for display
  • interpret the xvalues as seconds since 1970-01-01

I would probably write this with gnuplot as a backend, and with aquaterm as the mac display terminal (so I wouldn't need to start X11).

Comment via: google plus, facebook

Recent posts on blogs I like:

Transfers from Infrequent to Frequent Vehicles

Imagine yourself taking a train somewhere, and imagine the train is big and infrequent. Let’s say it’s the commuter train from New York down the Northeast Corridor to Newark Airport, or perhaps a low-cost OuiGo TGV from Lyon to Paris. Now imagine that you…

via Pedestrian Observations January 20, 2020

Veganism and restrictive eating

I’m reading the book Intuitive Eating, which I highly recommend. I was looking for something like it that could get me back to trusting my biological hunger without worrying that I need to control myself or my weight. It’s raised my consciousness to the w…

via Holly Elmore January 17, 2020

Algorithms interviews: theory vs. practice

When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site d…

via Posts on Dan Luu January 5, 2020

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact