JMSLTM Numerical Library 6.1

com.imsl.chart.qc
Class ParetoChart

java.lang.Object
  extended by com.imsl.chart.AbstractChartNode
      extended by com.imsl.chart.ChartNode
          extended by com.imsl.chart.Data
              extended by com.imsl.chart.Bar
                  extended by com.imsl.chart.qc.ParetoChart
All Implemented Interfaces:
Serializable, Cloneable

public class ParetoChart
extends Bar

ParetoChart is a Pareto bar chart. The bars are sorted into descending order. It is used in quality assurance tracking to identify and prioritize areas of greatest impact. It extends Bar.

The method addCumulativeLine adds a cumulative percentage line to the chart. This is the percent of defects accounted for by the current item and items to its left. If the cumulative percentage line is added, a second axis is created on the right. This is required because the units for this line are 0% to 100%. The units of the original axis (on the left) are the number of defects.

See Also:
Example, Chart Programmer's Guide: Pareto Chart, Chart Programmer's Guide: Histogram, Serialized Form

Field Summary
 
Fields inherited from class com.imsl.chart.ChartNode
AXIS_X_TOP, AXIS_Y_RIGHT, BAR_TYPE_HORIZONTAL, BAR_TYPE_VERTICAL, DASH_PATTERN_DASH, DASH_PATTERN_DASH_DOT, DASH_PATTERN_DOT, DASH_PATTERN_SOLID, DATA_TYPE_FILL, DATA_TYPE_LINE, DATA_TYPE_MARKER, DATA_TYPE_PICTURE, DATA_TYPE_TUBE, DENDROGRAM_TYPE_HORIZONTAL, DENDROGRAM_TYPE_VERTICAL, FILL_TYPE_GRADIENT, FILL_TYPE_NONE, FILL_TYPE_PAINT, FILL_TYPE_SOLID, LABEL_TYPE_PERCENT, MARKER_TYPE_ASTERISK, MARKER_TYPE_CIRCLE_CIRCLE, MARKER_TYPE_CIRCLE_PLUS, MARKER_TYPE_CIRCLE_X, MARKER_TYPE_DIAMOND_PLUS, MARKER_TYPE_FILLED_CIRCLE, MARKER_TYPE_FILLED_DIAMOND, MARKER_TYPE_FILLED_SQUARE, MARKER_TYPE_FILLED_TRIANGLE, MARKER_TYPE_HOLLOW_CIRCLE, MARKER_TYPE_HOLLOW_DIAMOND, MARKER_TYPE_HOLLOW_SQUARE, MARKER_TYPE_HOLLOW_TRIANGLE, MARKER_TYPE_OCTAGON_PLUS, MARKER_TYPE_OCTAGON_X, MARKER_TYPE_PLUS, MARKER_TYPE_SQUARE_PLUS, MARKER_TYPE_SQUARE_X, MARKER_TYPE_X, TEXT_X_CENTER, TEXT_X_LEFT, TEXT_X_RIGHT, TEXT_Y_BOTTOM, TEXT_Y_CENTER, TEXT_Y_TOP
 
Fields inherited from class com.imsl.chart.AbstractChartNode
AUTOSCALE_DATA, AUTOSCALE_DENSITY, AUTOSCALE_NUMBER, AUTOSCALE_OFF, AUTOSCALE_WINDOW, AXIS_X, AXIS_Y, AXIS_Z, LABEL_TYPE_NONE, LABEL_TYPE_TITLE, LABEL_TYPE_X, LABEL_TYPE_Y, LABEL_TYPE_Z, TRANSFORM_CUSTOM, TRANSFORM_LINEAR, TRANSFORM_LOG
 
Constructor Summary
ParetoChart(AxisXY axisBar, String[] labels, int[] numberDefects)
          Constructs a Pareto chart.
ParetoChart(AxisXY axisBar, String[] labels, int[] numberDefects, double maximumFractionCategoriesPlotted, String otherLabel)
          Constructs a Pareto chart showing only the most important bars.
ParetoChart(AxisXY axisBar, String[] labels, int[] numberDefects, int maximumCategoriesPlotted, String otherLabel)
          Constructs a Pareto chart showing only a limited number of bars.
 
Method Summary
 Data addCumulativeLine()
          Creates a new right-side axis and adds a cumulative line to it.
 Data addCumulativeLine(AxisXY axisCumulativeLine)
          Adds a cumulative line to the specified axis.
 AxisXY createCumulativeLineAxis()
          Creates a new axis to hold a cumulative line.
 AxisXY getCumulativeAxis()
          Returns the "CumulativeAxis" attribute.
 Data getCumulativeLine()
          Returns the "CumulativeLine" attribute.
 
Methods inherited from class com.imsl.chart.Bar
dataRange, getBarData, getBarSet, getBarSet, getBarSet, paint, setBarData, setLabels, setLabels
 
Methods inherited from class com.imsl.chart.Data
formatLabel
 
Methods inherited from class com.imsl.chart.ChartNode
addPickListener, firePickListeners, getALT, getAxis, getBackground, getBarGap, getBarType, getBarWidth, getChart, getChartTitle, getChildren, getClipData, getComponent, getConcatenatedViewport, getDataType, getDoubleBuffering, getExplode, getFillOutlineColor, getFillOutlineType, getFillPaint, getFillType, getGradient, getHREF, getLegend, getLineDashPattern, getMarkerDashPattern, getMarkerThickness, getMarkerType, getParent, getReference, getScreenAxis, getScreenSize, getScreenViewport, getSize, getSkipWeekends, getTextAngle, getTextColor, getTitle, getToolTip, getViewport, isBitSet, prePaint, removePickListener, setALT, setBarGap, setBarType, setBarWidth, setChartTitle, setClipData, setCustomTransform, setDataType, setDoubleBuffering, setExplode, setFillOutlineColor, setFillOutlineColor, setFillOutlineType, setFillPaint, setFillPaint, setFillPaint, setFillType, setGradient, setGradient, setGradient, setHREF, setImage, setLineDashPattern, setMarkerDashPattern, setMarkerThickness, setMarkerType, setReference, setScreenSize, setSize, setSkipWeekends, setTextAngle, setTextColor, setTextColor, setTitle, setTitle, setToolTip, setViewport, setViewport
 
Methods inherited from class com.imsl.chart.AbstractChartNode
clone, clone, clone, clone, getAbstractParent, getAttribute, getAutoscaleInput, getAutoscaleMinimumTimeInterval, getAutoscaleOutput, getBooleanAttribute, getChildList, getColorAttribute, getCustomTransform, getDensity, getDoubleAttribute, getFillColor, getFont, getFontName, getFontSize, getFontStyle, getImage, getIntegerAttribute, getLabelType, getLightColor, getLineColor, getLineWidth, getLocale, getMarkerColor, getMarkerSize, getName, getNumber, getPaint, getStringAttribute, getTextFormat, getTickLength, getTransform, getX, getY, isAncestorOf, isAttributeSet, isAttributeSetAtThisNode, parseColor, remove, setAttribute, setAutoscaleInput, setAutoscaleMinimumTimeInterval, setAutoscaleOutput, setDensity, setFillColor, setFillColor, setFont, setFontName, setFontSize, setFontStyle, setImage, setLabelType, setLightColor, setLightColor, setLineColor, setLineColor, setLineWidth, setLocale, setMarkerColor, setMarkerColor, setMarkerSize, setName, setNumber, setPaint, setTextFormat, setTextFormat, setTickLength, setTransform, setX, setY, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ParetoChart

public ParetoChart(AxisXY axisBar,
                   String[] labels,
                   int[] numberDefects)
Constructs a Pareto chart.

Parameters:
axisBar - the AxisXY parent of this node. Its formatting is changed to integer formatting.
labels - a String array which contains the labels for the data values.
numberDefects - an int array which contains the number of defects. These data values must be in the same order as the values in labels, but they do not need to be sorted.
Throws:
IllegalArgumentException - is thrown if the length of the labels and numberDefects arrays are unequal or if any element of numberDefects is negative.

ParetoChart

public ParetoChart(AxisXY axisBar,
                   String[] labels,
                   int[] numberDefects,
                   double maximumFractionCategoriesPlotted,
                   String otherLabel)
Constructs a Pareto chart showing only the most important bars. The numberDefects-axis formatting is changed to integer formatting.

Parameters:
axisBar - the AxisXY parent of this node. Its formatting is changed to integer formatting.
labels - a String array which contains the labels for the data values.
numberDefects - an int array which contains the number of defects. These data values must be in the same order as the values in labels, but they do not need to be sorted.
maximumFractionCategoriesPlotted - is maximum cumulative fraction to be represented in separate categories. The remaining categories are consolidated into a single bar. A typical value for this argument is 0.80. This must be at least 0 and no more than 1.
otherLabel - is the label of the bar holding total defect count of the categories not plotted.
Throws:
IllegalArgumentException - is thrown if the length of the labels and numberDefects arrays are unequal or if any element of numberDefects is negative.

ParetoChart

public ParetoChart(AxisXY axisBar,
                   String[] labels,
                   int[] numberDefects,
                   int maximumCategoriesPlotted,
                   String otherLabel)
Constructs a Pareto chart showing only a limited number of bars. The numberDefects-axis formatting is changed to integer formatting.

Parameters:
axisBar - the AxisXY parent of this node
labels - a String array which contains the labels for the data values.
numberDefects - an int array which contains the number of defects. These data values must be in the same order as the values in labels, but they do not need to be sorted.
maximumCategoriesPlotted - is the maximum number of categories to be plotted. Categories with smaller number of defects are consolidated into a single bar. The total number of bars will be maximumCategoriesPlotted+1. This must be at least 0 and no more than the length of numberDefects.
otherLabel - is the label of the bar holding total defect count of the categories not plotted.
Throws:
IllegalArgumentException - is thrown if the length of the labels and numberDefects arrays are unequal or if any element of numberDefects is negative.
Method Detail

addCumulativeLine

public Data addCumulativeLine()
Creates a new right-side axis and adds a cumulative line to it.

Returns:
a Data object containing the cumulative percentage line.

addCumulativeLine

public Data addCumulativeLine(AxisXY axisCumulativeLine)
Adds a cumulative line to the specified axis.

Parameters:
axisCumulativeLine - is the axis for the cumulative line.

createCumulativeLineAxis

public AxisXY createCumulativeLineAxis()
Creates a new axis to hold a cumulative line. The created axis is drawn on the right side. Its x-axis is not drawn, since it would overlap with the primary Pareto chart axis. Its y-axis is labeled using the "percent" format. Its y-axis is scaled to [0,1], it is not autoscaled.

Returns:
the newly created axis

getCumulativeAxis

public AxisXY getCumulativeAxis()
Returns the "CumulativeAxis" attribute.

Returns:
AxisXY object containing the cumulative line.

getCumulativeLine

public Data getCumulativeLine()
Returns the "CumulativeLine" attribute.

Returns:
the cumulative line Data object.

JMSLTM Numerical Library 6.1

Copyright © 1970-2010 Visual Numerics, Inc.
Built July 30 2010.