function SmoothieChart(options) {
    this.options = Util.extend({}, SmoothieChart.defaultChartOptions, options);
    this.seriesSet = [];
    this.currentValueRange = 1;
    this.currentVisMinValue = 0;
    this.lastRenderTimeMillis = 0;
  }
Initialises a new <code>SmoothieChart</code>.

Options are optional, and should be of the form below. Just specify the values you
need and the rest will be given sensible defaults as shown:

<pre>
{
  minValue: undefined,                      // specify to clamp the lower y-axis to a given value
  maxValue: undefined,                      // specify to clamp the upper y-axis to a given value
  maxValueScale: 1,                         // allows proportional padding to be added above the chart. for 10% padding, specify 1.1.
  minValueScale: 1,                         // allows proportional padding to be added below the chart. for 10% padding, specify 1.1.
  yRangeFunction: undefined,                // function({min: , max: }) { return {min: , max: }; }
  scaleSmoothing: 0.125,                    // controls the rate at which y-value zoom animation occurs
  millisPerPixel: 20,                       // sets the speed at which the chart pans by
  enableDpiScaling: true,                   // support rendering at different DPI depending on the device
  yMinFormatter: function(min, precision) { // callback function that formats the min y value label
    return parseFloat(min).toFixed(precision);
  },
  yMaxFormatter: function(max, precision) { // callback function that formats the max y value label
    return parseFloat(max).toFixed(precision);
  },
  maxDataSetLength: 2,
  interpolation: 'bezier'                   // one of 'bezier', 'linear', or 'step'
  timestampFormatter: null,                 // optional function to format time stamps for bottom of chart
                                            // you may use SmoothieChart.timeFormatter, or your own: function(date) { return ''; }
  scrollBackwards: false,                   // reverse the scroll direction of the chart
  horizontalLines: [],                      // [ { value: 0, color: '#ffffff', lineWidth: 1 } ]
  grid:
  {
    fillStyle: '#000000',                   // the background colour of the chart
    lineWidth: 1,                           // the pixel width of grid lines
    strokeStyle: '#777777',                 // colour of grid lines
    millisPerLine: 1000,                    // distance between vertical grid lines
    sharpLines: false,                      // controls whether grid lines are 1px sharp, or softened
    verticalSections: 2,                    // number of vertical sections marked out by horizontal grid lines
    borderVisible: true                     // whether the grid lines trace the border of the chart or not
  },
  labels
  {
    disabled: false,                        // enables/disables labels showing the min/max values
    fillStyle: '#ffffff',                   // colour for text of labels,
    fontSize: 15,
    fontFamily: 'sans-serif',
    precision: 2
  }
}
</pre>

@constructor