com.ijchart.xychart.render.xy
Class XYStackedBarRender

java.lang.Object
  extended by com.ijchart.xychart.render.AbstractRender
      extended by com.ijchart.xychart.render.AbstractWithAxisRender
          extended by com.ijchart.xychart.render.xy.AbstractXYRender
              extended by com.ijchart.xychart.render.xy.XYStackedBarRender
All Implemented Interfaces:
IDatasetChangeListener, IRender, IRenderWithAxis, java.io.Serializable, java.lang.Cloneable, java.util.EventListener

public class XYStackedBarRender
extends AbstractXYRender
implements java.lang.Cloneable, java.io.Serializable

Title: IJChart

Description: a chart library for the Java(tm) platform.

绘制堆栈形式的XY柱状图.

Copyright: Copyright (c) 2013

Company:

Version:
1.0
Author:
zhang feng min,shanghai china. Contract me by email.
See Also:
Serialized Form

Field Summary
static boolean DEFAULT_ALLOW_DUPLICATE_X_VALUE
          缺省是否允许重复的x值.
static boolean DEFAULT_AUTO_WIDTH
          缺省是否自动调整宽度的标志.
static double DEFAULT_BAR_MARGIN
          缺省的空白,单位为百分比,此参数可以用来减少bar的宽度.
static double DEFAULT_FIXED_INTERVAL_WIDTH
          固定的每个bar的宽度值.
static double DEFAULT_INTERVAL_POSITION_FACTOR
          计算每个bar的位置的缺省值.
 
Fields inherited from class com.ijchart.xychart.render.AbstractRender
borderPaints, borderStrokes, DEFAULT_AUTO_SELECT_BORDER_PAINT, DEFAULT_AUTO_SELECT_BORDER_STROKE, DEFAULT_AUTO_SELECT_FILL_PAINT, DEFAULT_BACKGROUND_IMAGE_ALIGNMENT, DEFAULT_BACKGROUND_PAINT, DEFAULT_BASE_BORDER_PAINT, DEFAULT_BASE_BORDER_STROKE, DEFAULT_BASE_ITEM_FILL, DEFAULT_BASE_ITEM_FILL_PAINT, DEFAULT_BASE_ITEM_FILL_PAINT_TRANSFORMER, DEFAULT_BASE_ITEM_LABEL_FONT, DEFAULT_BASE_ITEM_LABEL_HORIZONTAL_ALIGNMENT, DEFAULT_BASE_ITEM_LABEL_PAINT, DEFAULT_BASE_ITEM_LABEL_VERTICAL_ALIGNMENT, DEFAULT_BASE_ITEM_LABEL_VISIBLE, DEFAULT_BORDER_PAINT, DEFAULT_BORDER_STROKE, DEFAULT_DRAW_BORDER, DEFAULT_DRAWINT_SUPPLIER, DEFAULT_GENERATOR_TOOLTIP, DEFAULT_GENERATOR_URL, DEFAULT_LABEL_GENERATOR, DEFAULT_RENDER_AREA_BORDER_VISIBLE, DEFAULT_TOOLTIP_GENERATOR, fillPaints
 
Constructor Summary
XYStackedBarRender(IMatrixDataset dataset)
          构造器.
XYStackedBarRender(IMatrixDataset dataset, boolean renderAsPercentages)
          构造器.
 
Method Summary
 java.lang.Object clone()
          返回克隆的对象.
 void drawAllItems(AbstractValueAxis xAxis, RectangleEdge xAxisEdge, AbstractValueAxis yAxis, RectangleEdge yAxisEdge, java.awt.geom.Rectangle2D dataArea, ChartOrientation orientation, RenderShapeCollection renderShapes, float alpha)
          绘制所有的图形.
 boolean equals(java.lang.Object obj)
          测试两个对象是否相等.
 double getFixedIntervalWidth()
          返回固定的每个bar的宽度值.
 double getIntervalPositionFactor()
          返回计算每个bar的位置的参数值.
 double getIntervalWidth()
          返回每个bar的宽度值.
 LegendType getLegendType()
          返回图例类型.
 double getMargin()
          返回空白值.
 int hashCode()
          计算对象的hashcode值.
 boolean isAllowDuplicateXValues()
          返回是否允许重复的x值.
 boolean isAutoWidth()
          返回是否自动调整bar的宽度.
 boolean isRenderAsPercentages()
          如果以百分比形式显示数据,返回true,否则返回false.
 void setAllowDuplicateXValues(boolean flag)
          设置是否允许重复的x值,并向所有监听器发送 RenderChangeEvent事件.
 void setAutoWidth(boolean autoWidth)
          设置是否自动调整bar的宽度,并向所有监听器发送 RenderChangeEvent事件.
 void setFixedIntervalWidth(double fixedIntervalWidth)
          设置固定的每个bar的宽度值,并向所有监听器发送 RenderChangeEvent事件.
 void setIntervalPositionFactor(double factor)
          设置计算每个bar的位置的参数值,并向所有监听器发送 RenderChangeEvent事件.
 void setMargin(double margin)
          设置空白值,并向所有监听器发送 RenderChangeEvent事件.
 void setRenderAsPercentages(boolean asPercentages)
          设置是否以百分比形式显示数据,并向所有监听器发送 RenderChangeEvent事件.
 java.lang.String toString()
          覆盖toString方法.
 
Methods inherited from class com.ijchart.xychart.render.xy.AbstractXYRender
addAnnotation, drawAllAnnotation, getAllAnnotations, removeAllAnnotation
 
Methods inherited from class com.ijchart.xychart.render.AbstractWithAxisRender
createItemShape, createValueMarkerShape, drawIntervalValueMarker, drawValueMarker, getValueAxisOffsetType
 
Methods inherited from class com.ijchart.xychart.render.AbstractRender
add3DShapes, addChangeListener, calculateLegendItemShapes, createItemShapeOnly, datasetChanged, drawBackground, drawBackgroundImage, drawDrawAreaBorder, fireRenderChanged, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getBaseItemBorderPaint, getBaseItemBorderStroke, getBaseItemFillPaint, getBaseItemFillPaintTransformer, getBaseItemLabelDirection, getBaseItemLabelFont, getBaseItemLabelHorizontalAlignment, getBaseItemLabelPaint, getBaseItemLabelPosition, getBaseItemLabelVerticalAlignment, getBaseItemLabelVisible, getBorderPaints, getBorderStrokes, getChartArea, getColumnItemBorderPaint, getColumnItemBorderStroke, getColumnItemFillPaint, getColumnItemFillPaintTransformer, getColumnItemLabelDirection, getColumnItemLabelFont, getColumnItemLabelHorizontalAlignment, getColumnItemLabelPaint, getColumnItemLabelPosition, getColumnItemLabelVerticalAlignment, getDataset, getDrawingSupplier, getFillPaints, getItemBorderPaint, getItemBorderStroke, getItemFillPaint, getItemFillPaintHelper, getItemFillPaintTransformer, getItemLabelDirection, getItemLabelFont, getItemLabelHorizontalAlignment, getItemLabelPaint, getItemLabelPosition, getItemLabelVerticalAlignment, getLabelGenerator, getLegendItemCount, getLegendItemLabels, getLegendItemLabelsByColumn, getLegendItemLabelsByRow, getLegendItemShapes, getLegendPositon, getNegativeItemLabelHorizontalAlignment, getNegativeItemLabelVerticalAlignment, getPositiveItemLabelHorizontalAlignment, getPositiveItemLabelVerticalAlignment, getRenderAreaBorderPaint, getRenderAreaBorderStroke, getRowItemBorderPaint, getRowItemBorderStroke, getRowItemFillPaint, getRowItemFillPaintTransformer, getRowItemLabelDirection, getRowItemLabelFont, getRowItemLabelHorizontalAlignment, getRowItemLabelPaint, getRowItemLabelPosition, getRowItemLabelVerticalAlignment, getToolTipGenerator, hasListener, isAutoSelectBorderPaint, isAutoSelectBorderStroke, isAutoSelectFillPaint, isBaseItemDrawBorder, isBaseItemFill, isColumnItemDrawBorder, isColumnItemFill, isColumnItemLabelVisible, isColumnItemVisible, isGeneratorTooltip, isGeneratorUrl, isItemDrawBorder, isItemFill, isItemLabelVisible, isItemVisible, isRenderAreaBorderVisible, isRowItemDrawBorder, isRowItemFill, isRowItemLabelVisible, isRowItemVisible, notifyListeners, removeAllChangeListener, removeChangeListener, setAutoSelectBorderPaint, setAutoSelectBorderStroke, setAutoSelectFillPaint, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setBaseItemBorderPaint, setBaseItemBorderStroke, setBaseItemDrawBorder, setBaseItemFill, setBaseItemFillPaint, setBaseItemFillPaintTransformer, setBaseItemLabelDirection, setBaseItemLabelFont, setBaseItemLabelHorizontalAlignment, setBaseItemLabelPaint, setBaseItemLabelPosition, setBaseItemLabelVerticalAlignment, setBaseItemLabelVisible, setChartArea, setColumnItemBorderPaint, setColumnItemBorderStroke, setColumnItemDrawBorder, setColumnItemFill, setColumnItemFillPaint, setColumnItemFillPaintTransformer, setColumnItemLabelDirection, setColumnItemLabelFont, setColumnItemLabelHorizontalAlignment, setColumnItemLabelPaint, setColumnItemLabelPosition, setColumnItemLabelVerticalAlignment, setColumnItemLabelVisible, setColumnItemVisible, setCustomLegendType, setDataset, setDrawingSupplier, setDrawingSupplier, setGeneratorTooltip, setGeneratorUrl, setItemBorderPaint, setItemBorderStroke, setItemDrawBorder, setItemFill, setItemFillPaint, setItemFillPaintTransformer, setItemLabelDirection, setItemLabelFont, setItemLabelHorizontalAlignment, setItemLabelPaint, setItemLabelPosition, setItemLabelVerticalAlignment, setItemLabelVisible, setItemVisible, setLabelGenerator, setLegendPositon, setNegativeItemLabelHorizontalAlignment, setNegativeItemLabelVerticalAlignment, setPositiveItemLabelHorizontalAlignment, setPositiveItemLabelVerticalAlignment, setRenderAreaBorderPaint, setRenderAreaBorderStroke, setRenderAreaBorderVisible, setRowItemBorderPaint, setRowItemBorderStroke, setRowItemDrawBorder, setRowItemFill, setRowItemFillPaint, setRowItemFillPaintTransformer, setRowItemLabelDirection, setRowItemLabelFont, setRowItemLabelHorizontalAlignment, setRowItemLabelPaint, setRowItemLabelPosition, setRowItemLabelVerticalAlignment, setRowItemLabelVisible, setRowItemVisible, setToolTipGenerator
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ijchart.xychart.render.IRender
addChangeListener, drawBackground, drawBackgroundImage, drawDrawAreaBorder, getBaseItemBorderPaint, getBaseItemBorderStroke, getBaseItemFillPaint, getBaseItemFillPaintTransformer, getBaseItemLabelFont, getBaseItemLabelHorizontalAlignment, getBaseItemLabelPaint, getBaseItemLabelPosition, getBaseItemLabelVerticalAlignment, getBaseItemLabelVisible, getColumnItemBorderPaint, getColumnItemBorderStroke, getColumnItemFillPaint, getColumnItemFillPaintTransformer, getColumnItemLabelFont, getColumnItemLabelHorizontalAlignment, getColumnItemLabelPaint, getColumnItemLabelPosition, getColumnItemLabelVerticalAlignment, getItemBorderPaint, getItemBorderStroke, getItemFillPaint, getItemFillPaintTransformer, getItemLabelFont, getItemLabelHorizontalAlignment, getItemLabelPaint, getItemLabelPosition, getItemLabelVerticalAlignment, getLabelGenerator, getNegativeItemLabelHorizontalAlignment, getNegativeItemLabelVerticalAlignment, getPositiveItemLabelHorizontalAlignment, getPositiveItemLabelVerticalAlignment, getRowItemBorderPaint, getRowItemBorderStroke, getRowItemFillPaint, getRowItemFillPaintTransformer, getRowItemLabelFont, getRowItemLabelHorizontalAlignment, getRowItemLabelPaint, getRowItemLabelPosition, getRowItemLabelVerticalAlignment, getToolTipGenerator, isBaseItemDrawBorder, isBaseItemFill, isColumnItemDrawBorder, isColumnItemFill, isColumnItemLabelVisible, isColumnItemVisible, isItemDrawBorder, isItemFill, isItemLabelVisible, isItemVisible, isRowItemDrawBorder, isRowItemFill, isRowItemLabelVisible, isRowItemVisible, removeAllChangeListener, removeChangeListener, setBaseItemBorderPaint, setBaseItemBorderStroke, setBaseItemDrawBorder, setBaseItemFill, setBaseItemFillPaint, setBaseItemFillPaintTransformer, setBaseItemLabelFont, setBaseItemLabelHorizontalAlignment, setBaseItemLabelPaint, setBaseItemLabelPosition, setBaseItemLabelVerticalAlignment, setBaseItemLabelVisible, setColumnItemBorderPaint, setColumnItemBorderStroke, setColumnItemDrawBorder, setColumnItemFill, setColumnItemFillPaint, setColumnItemFillPaintTransformer, setColumnItemLabelFont, setColumnItemLabelHorizontalAlignment, setColumnItemLabelPaint, setColumnItemLabelPosition, setColumnItemLabelVerticalAlignment, setColumnItemLabelVisible, setColumnItemVisible, setCustomLegendType, setItemBorderPaint, setItemBorderStroke, setItemDrawBorder, setItemFill, setItemFillPaint, setItemFillPaintTransformer, setItemLabelFont, setItemLabelHorizontalAlignment, setItemLabelPaint, setItemLabelPosition, setItemLabelVerticalAlignment, setItemLabelVisible, setItemVisible, setLabelGenerator, setNegativeItemLabelHorizontalAlignment, setNegativeItemLabelVerticalAlignment, setPositiveItemLabelHorizontalAlignment, setPositiveItemLabelVerticalAlignment, setRowItemBorderPaint, setRowItemBorderStroke, setRowItemDrawBorder, setRowItemFill, setRowItemFillPaint, setRowItemFillPaintTransformer, setRowItemLabelFont, setRowItemLabelHorizontalAlignment, setRowItemLabelPaint, setRowItemLabelPosition, setRowItemLabelVerticalAlignment, setRowItemLabelVisible, setRowItemVisible, setToolTipGenerator
 

Field Detail

DEFAULT_AUTO_WIDTH

public static final boolean DEFAULT_AUTO_WIDTH
缺省是否自动调整宽度的标志.

See Also:
Constant Field Values

DEFAULT_INTERVAL_POSITION_FACTOR

public static final double DEFAULT_INTERVAL_POSITION_FACTOR
计算每个bar的位置的缺省值.

See Also:
Constant Field Values

DEFAULT_FIXED_INTERVAL_WIDTH

public static final double DEFAULT_FIXED_INTERVAL_WIDTH
固定的每个bar的宽度值.

See Also:
Constant Field Values

DEFAULT_BAR_MARGIN

public static final double DEFAULT_BAR_MARGIN
缺省的空白,单位为百分比,此参数可以用来减少bar的宽度.

See Also:
Constant Field Values

DEFAULT_ALLOW_DUPLICATE_X_VALUE

public static final boolean DEFAULT_ALLOW_DUPLICATE_X_VALUE
缺省是否允许重复的x值.

See Also:
Constant Field Values
Constructor Detail

XYStackedBarRender

public XYStackedBarRender(IMatrixDataset dataset)
构造器.

Parameters:
dataset - IMatrixDataset 数据集 (不可为null).

XYStackedBarRender

public XYStackedBarRender(IMatrixDataset dataset,
                          boolean renderAsPercentages)
构造器.

Parameters:
dataset - IMatrixDataset 数据集 (不可为null).
renderAsPercentages - boolean 是否以百分比形式显示数据.
Method Detail

isRenderAsPercentages

public boolean isRenderAsPercentages()
如果以百分比形式显示数据,返回true,否则返回false.

Returns:
A boolean. 布尔值.

setRenderAsPercentages

public void setRenderAsPercentages(boolean asPercentages)
设置是否以百分比形式显示数据,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
asPercentages - 布尔值.

isAutoWidth

public boolean isAutoWidth()
返回是否自动调整bar的宽度.

Returns:
boolean 布尔值.

setAutoWidth

public void setAutoWidth(boolean autoWidth)
设置是否自动调整bar的宽度,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
autoWidth - boolean 布尔值.

getIntervalPositionFactor

public double getIntervalPositionFactor()
返回计算每个bar的位置的参数值.

Returns:
double 参数值.

setIntervalPositionFactor

public void setIntervalPositionFactor(double factor)
设置计算每个bar的位置的参数值,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
factor - double 参数值,必须介于[0.0,1.0]之间.

getFixedIntervalWidth

public double getFixedIntervalWidth()
返回固定的每个bar的宽度值.

Returns:
double 宽度值.

setFixedIntervalWidth

public void setFixedIntervalWidth(double fixedIntervalWidth)
设置固定的每个bar的宽度值,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
fixedIntervalWidth - double 宽度值,必须大于0.

getIntervalWidth

public double getIntervalWidth()
返回每个bar的宽度值.

Returns:
double 宽度值.

getMargin

public double getMargin()
返回空白值.

Returns:
double 空白值.

setMargin

public void setMargin(double margin)
设置空白值,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
margin - double 空白值,此值应属于区间[0.0,1.0).

isAllowDuplicateXValues

public boolean isAllowDuplicateXValues()
返回是否允许重复的x值.

Returns:
boolean 布尔值.

setAllowDuplicateXValues

public void setAllowDuplicateXValues(boolean flag)
设置是否允许重复的x值,并向所有监听器发送 RenderChangeEvent事件.

Parameters:
flag - boolean 布尔值.

drawAllItems

public void drawAllItems(AbstractValueAxis xAxis,
                         RectangleEdge xAxisEdge,
                         AbstractValueAxis yAxis,
                         RectangleEdge yAxisEdge,
                         java.awt.geom.Rectangle2D dataArea,
                         ChartOrientation orientation,
                         RenderShapeCollection renderShapes,
                         float alpha)
绘制所有的图形.

Specified by:
drawAllItems in class AbstractXYRender
Parameters:
xAxis - AbstractValueAxis x数值坐标轴 (不可为null).
xAxisEdge - RectangleEdge x坐标轴位置(不可为null).
yAxis - AbstractValueAxis y数值坐标轴 (不可为null).
yAxisEdge - RectangleEdge y坐标轴位置 (不可为null).
dataArea - Rectangle2D 数据区域 (不可为null).
orientation - ChartOrientation 图表的方向 (不可为null).
renderShapes - RenderShapeCollection render图形集合 (不可为null).
alpha - float alpha值,须属于闭区间[0.0,1.0].

getLegendType

public LegendType getLegendType()
返回图例类型.

Specified by:
getLegendType in interface IRender
Overrides:
getLegendType in class AbstractRender
Returns:
LegendType 图例类型.

equals

public boolean equals(java.lang.Object obj)
测试两个对象是否相等.

Overrides:
equals in class AbstractXYRender
Parameters:
obj - 要比较的对象
Returns:
相等返回true,否则返回false.

hashCode

public int hashCode()
计算对象的hashcode值.

Overrides:
hashCode in class AbstractXYRender
Returns:
int 对象的hashcode值.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
返回克隆的对象.

Overrides:
clone in class AbstractXYRender
Returns:
object a clone of this instance.
Throws:
java.lang.CloneNotSupportedException - if the object's class does not support the Cloneable interface. Subclasses that override the clone method can also throw this exception to indicate that an instance cannot be cloned.

toString

public java.lang.String toString()
覆盖toString方法.

Overrides:
toString in class AbstractXYRender
Returns:
a string representation of the object.