JMSLTM Numerical Library 4.0

com.imsl.chart
Class AxisXY

java.lang.Object
  extended bycom.imsl.chart.AbstractChartNode
      extended bycom.imsl.chart.ChartNode
          extended bycom.imsl.chart.Axis
              extended bycom.imsl.chart.AxisXY
All Implemented Interfaces:
Cloneable, Serializable
Direct Known Subclasses:
Background, ChartTitle, Contour.Legend, Heatmap.Legend, Legend

public class AxisXY
extends Axis

The axes for an x-y chart.

This node is used when the mapping to and from user and device space can be decomposed into an x and a y mapping. This is when the mapping map(userX,userY) = (deviceX,deviceY) can be written as map(userX,userY) = (mapX(userX),mapY(userY) = (deviceX,deviceY)

See Also:
Example, Chart Programmer's Guide: AxisXY, 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
AxisXY(Chart chart)
          Create an AxisXY.
 
Method Summary
 Axis1D getAxisX()
          Return the x-axis node.
 Axis1D getAxisY()
          Return the y-axis node.
 double[] getCross()
          Returns the value of the "Cross" attribute.
 void mapDeviceToUser(int devX, int devY, double[] userXY)
          Map the device coordinates to user coordinates.
 void mapUserToDevice(double userX, double userY, int[] devXY)
          Map the user coordinates (userX,userY) to the device coordinates devXY.
 void paint(Draw draw)
          Paints this node and all of its children.
 void setCross(double[] cross)
          Sets the value of the "Cross" attribute.
 void setCross(double xcross, double ycross)
          Sets the value of the "Cross" attribute.
 void setupMapping()
          Initializes the mappings between user and coordinate space.
 void setWindow(double[] value)
          Sets the window in user coordinates along an axis.
 
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, 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

AxisXY

public AxisXY(Chart chart)
Create an AxisXY. This also creates two Axis1D nodes as children of this node. They hold the decomposed mapping. The "Viewport" attributute for this node is set to [0.2,0.8] by [0.2,0.8].

Parameters:
chart - the Chart parent of this node
Method Detail

getAxisX

public Axis1D getAxisX()
Return the x-axis node.

Returns:
the Axis1D x-axis node

getAxisY

public Axis1D getAxisY()
Return the y-axis node.

Returns:
the Axis1D y-axis node

getCross

public double[] getCross()
Returns the value of the "Cross" attribute.

Returns:
a double[2] array containing the value of the "Cross" attribute, if defined. The value is the point where the X and Y axes intersect, (xcross,ycross). If "Cross" is not defined then null is returned.

mapDeviceToUser

public void mapDeviceToUser(int devX,
                            int devY,
                            double[] userXY)
Map the device coordinates to user coordinates.

Specified by:
mapDeviceToUser in class Axis
Parameters:
devX - an int which specifies the device x-coordinate
devY - an int which specifies the device y-coordinate
userXY - a double[2] array on input. On output, the user coordinates.

mapUserToDevice

public void mapUserToDevice(double userX,
                            double userY,
                            int[] devXY)
Map the user coordinates (userX,userY) to the device coordinates devXY.

Specified by:
mapUserToDevice in class Axis
Parameters:
userX - a double which specifies the user x-coordinate
userY - a double which specifies the user y-coordinate
devXY - an int[2] array on input. On output, the device coordinates.

paint

public void paint(Draw draw)
Paints this node and all of its children. This is normally called only by the paint method in this node's parent.

Overrides:
paint in class Axis
Parameters:
draw - the Draw object to be painted

setCross

public void setCross(double[] cross)
Sets the value of the "Cross" attribute. This defines the point where the X and Y axes intersect. If "Cross" is not defined then the attribute "Window" is used to determine the crossing point.

Parameters:
cross - is a double of length two containing the x and y-coordinate where the axes cross

setCross

public void setCross(double xcross,
                     double ycross)
Sets the value of the "Cross" attribute. This defines the point where the X and Y axes intersect. If "Cross" is not defined then the attribute "Window" is used to determine the crossing point.

Parameters:
xcross - a double which specifies the x-coordinate where the axes cross
ycross - a double which specifies the y-coordinate where the axes cross

setupMapping

public void setupMapping()
Initializes the mappings between user and coordinate space. This must be called whenever the screen size, the window or the viewport may have changed. Generally, it is safest to call this each time the chart is repainted.

Specified by:
setupMapping in class Axis

setWindow

public void setWindow(double[] value)
Sets the window in user coordinates along an axis.

Parameters:
value - a double array which contains the minimum and maximum of the window along an axis

JMSLTM Numerical Library 4.0

Copyright 1970-2006 Visual Numerics, Inc.
Built June 1 2006.