weka.gui.beans

## Class WekaOffscreenChartRenderer

- java.lang.Object
- - weka.gui.beans.AbstractOffscreenChartRenderer
  - - weka.gui.beans.WekaOffscreenChartRenderer

- All Implemented Interfaces:
    OffscreenChartRenderer

      public class WekaOffscreenChartRenderer
      extends AbstractOffscreenChartRenderer

  Default OffscreenChartRenderer that uses Weka's built-in chart and graph classes.
  Version:
    $Revision: 8034 $
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `WekaOffscreenChartRenderer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `optionsTipTextHTML()` Gets a short list of additional options (if any), suitable for displaying in a tip text, in HTML form
    `java.lang.String` | `rendererName()` The name of this off screen renderer
    `java.awt.image.BufferedImage` | `renderHistogram(int width, int height, java.util.List<Instances> series, java.lang.String attToPlot, java.util.List<java.lang.String> optionalArgs)` Render histogram(s) (numeric attribute) or pie chart (nominal attribute).
    `java.awt.image.BufferedImage` | `renderXYLineChart(int width, int height, java.util.List<Instances> series, java.lang.String xAxis, java.lang.String yAxis, java.util.List<java.lang.String> optionalArgs)` Render an XY line chart
    `java.awt.image.BufferedImage` | `renderXYScatterPlot(int width, int height, java.util.List<Instances> series, java.lang.String xAxis, java.lang.String yAxis, java.util.List<java.lang.String> optionalArgs)` Render an XY scatter plot

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WekaOffscreenChartRenderer

          public WekaOffscreenChartRenderer()

  - ### Method Detail

    - #### rendererName

          public java.lang.String rendererName()

      The name of this off screen renderer
      Returns:
        the name of this off screen renderer

    - #### optionsTipTextHTML

          public java.lang.String optionsTipTextHTML()

      Gets a short list of additional options (if any), suitable for displaying in a tip text, in HTML form
      Specified by:
        `optionsTipTextHTML` in interface `OffscreenChartRenderer`
      Overrides:
        `optionsTipTextHTML` in class `AbstractOffscreenChartRenderer`
      Returns:
        additional options description in simple HTML form

    - #### renderXYLineChart

          public java.awt.image.BufferedImage renderXYLineChart(int width,
                                                       int height,
                                                       java.util.List<Instances> series,
                                                       java.lang.String xAxis,
                                                       java.lang.String yAxis,
                                                       java.util.List<java.lang.String> optionalArgs)
                                                         throws java.lang.Exception

      Render an XY line chart
      Parameters:
        `width` - the width of the resulting chart in pixels
        `height` - the height of the resulting chart in pixels
        `series` - a list of Instances - one for each series to be plotted
        `xAxis` - the name of the attribute for the x-axis (all series Instances are expected to have an attribute of the same type with this name)
        `yAxis` - the name of the attribute for the y-axis (all series Instances are expected to have an attribute of the same type with this name)
        `optionalArgs` - optional arguments to the renderer (may be null)
      Returns:
        a BufferedImage containing the chart
      Throws:
        `java.lang.Exception` - if there is a problem rendering the chart

    - #### renderXYScatterPlot

          public java.awt.image.BufferedImage renderXYScatterPlot(int width,
                                                         int height,
                                                         java.util.List<Instances> series,
                                                         java.lang.String xAxis,
                                                         java.lang.String yAxis,
                                                         java.util.List<java.lang.String> optionalArgs)
                                                           throws java.lang.Exception

      Render an XY scatter plot
      Parameters:
        `width` - the width of the resulting chart in pixels
        `height` - the height of the resulting chart in pixels
        `series` - a list of Instances - one for each series to be plotted
        `xAxis` - the name of the attribute for the x-axis (all series Instances are expected to have an attribute of the same type with this name)
        `yAxis` - the name of the attribute for the y-axis (all series Instances are expected to have an attribute of the same type with this name)
        `optionalArgs` - optional arguments to the renderer (may be null)
      Returns:
        a BufferedImage containing the chart
      Throws:
        `java.lang.Exception` - if there is a problem rendering the chart

    - #### renderHistogram

          public java.awt.image.BufferedImage renderHistogram(int width,
                                                     int height,
                                                     java.util.List<Instances> series,
                                                     java.lang.String attToPlot,
                                                     java.util.List<java.lang.String> optionalArgs)
                                                       throws java.lang.Exception

      Render histogram(s) (numeric attribute) or pie chart (nominal attribute). Some implementations may not be able to render more than one histogram/pie on the same chart - the implementation can either throw an exception or just process the first series in this case. This Default implementation uses Weka's built in VisualizeAttributePanel to render with and, as such, can only render histograms. It produces histograms for both numeric and nominal attributes.
      Parameters:
        `width` - the width of the resulting chart in pixels
        `height` - the height of the resulting chart in pixels
        `series` - a list of Instances - one for each series to be plotted
        `attsToPlot` - the attribute to plot corresponding to the Instances in the series list
        `optionalArgs` - optional arguments to the renderer (may be null)
      Returns:
        a BufferedImage containing the chart
      Throws:
        `java.lang.Exception` - if there is a problem rendering the chart