The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

skullplot.pl - plot data from a manual db select

SYNOPSIS

  # default to first column on x-axis, all following columns on y-axis
  skullplot.pl input_data.dbox

  # specifying that explicitly
  skullplot.pl --dependents='x_axis_field' --independents='y_axis_field1,y_axis_field2' input_data.dbox

  # additional "dependents" fields determine color/shape of points
  skullplot.pl --dependents='x_axis_field1,category_field1' --independents='y_axis_field1,y_axis_field2' input_data.dbox

  # compact way of specifying similar case: first two columns independent, remaining columns dependent
  skullplot.pl --indie_count=2 input_data.dbox

  # don't use /tmp as working area
  skullplot.pl --working_loc='/var/scratch'  input_data.dbox

  # turn on debugging
  skullplot.pl -d  input_data.dbox

DESCRIPTION

skullplot.pl is a script which use's the R ggplot2 library to plot data input in the form of the output from a SELECT as performed manually in a db shell, e.g.:

  +------------+---------------+-------------+
  | date       | type          | amount      |
  +------------+---------------+-------------+
  | 2010-09-01 | factory       |   146035.00 |
  | 2010-10-01 | factory       |   208816.00 |
  | 2011-01-01 | factory       |   191239.00 |
  | 2010-09-01 | marketing     |   467087.00 |
  | 2010-10-01 | marketing     |   409430.00 |
  +------------+---------------+-------------+

I call this "box format data" (file extension: *.dbox).

This script takes the name of the *.dbox file containing the data as an argument. It has a number of options that control how it uses the data

The second argument is a comma-separated list of names of dependent variables (the x-axis). The third argument is a comma-separated list of the independent variables to plot (the y-axis).

The default for dependent variables: the first column. The default of independent variables: all of the following columns

The supported input data formats are as in the Table::BoxFormat module. At present, this is mysql and postgresql (including the unicode form).

AUTHOR

Joseph Brenner, <doom@kzsu.stanford.edu>

COPYRIGHT AND LICENSE

Copyright (C) 2016 by Joseph Brenner

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.