aboutsummaryrefslogtreecommitdiffstats
This is a simple, quick-n-dirty wrapper for plotting .csv files with
Gnuplot.

The tool will remove comments (lines starting with a '#' character) before
passing the data to Gnuplot. This makes it possible to have experimental
setup and date information encoded in the .csv file, which is beneficial
for archival reasons.

You can plot the example file to a PNG graph using the following command:

./gnuplot.py -o example -f png --xlabel "Time" --ylabel "Supply Bound" \
     example.csv 1 2 "Supply Bound Function"


In general, each curve that you want to plot in a graph is defined by four
arguments:

./gnuplot.py [OPTIONS] \
   <file1> <xcolumn1> <ycolumn1> <title1> \
   <file2> <xcolumn2> <ycolumn2> <title2> \
   ... and so on ...

For large experiments with many graphs, it is more convenient to wrap gnuplot.py
in a project-specific plotting script. Have a look at plot.py and plot_ohead.py
to see how I did it. Basically, the scrips infer what to plot and how to name
and label the graphs from the name of each .csv file. 

For example, the file name 'hard_rtss09_dist=uni_medium_250.csv' encodes the
following information: 1) it uses hard real-time schedulability tests, it was
using the RTSS'09 experimental setup and overheads, the task sets were generated
with uniform utilization from the range [0.1, 0.4] (medium), and periods were
distributed uniformly in [50, 250]. This is parsed by plot.py, which then 
calls gnuplot.py to generate a graph with the correct labels and settings.