Class XYChart

Direct Known Subclasses:
BarChart, BubbleChart, CombinedXYChart, LineChart, ScatterChart

public abstract class XYChart extends AbstractChart
The XY chart rendering class.
  • Field Details

  • Constructor Details

    • XYChart

      protected XYChart()
    • XYChart

      public XYChart(XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer)

      Builds a new XY chart instance.

      Parameters
      • dataset: the multiple series dataset

      • renderer: the multiple series renderer

  • Method Details

    • setDatasetRenderer

      protected void setDatasetRenderer(XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer)
    • draw

      public void draw(Canvas canvas, int x, int y, int width, int height, Paint paint)

      The graphical representation of the XY chart.

      Parameters
      • canvas: the canvas to paint to

      • x: the top left x value of the view to draw to

      • y: the top left y value of the view to draw to

      • width: the width of the view to draw to

      • height: the height of the view to draw to

      • paint: the paint

      Specified by:
      draw in class AbstractChart
    • getXLabels

      protected List<Double> getXLabels(double min, double max, int count)
    • getYLabels

      protected Map<Integer, List<Double>> getYLabels(double[] minY, double[] maxY, int maxScaleNumber)
    • getScreenR

      protected Rectangle getScreenR()
    • setScreenR

      protected void setScreenR(Rectangle screenR)
    • drawSeries

      protected void drawSeries(XYSeries series, Canvas canvas, Paint paint, List<Float> pointsList, XYSeriesRenderer seriesRenderer, float yAxisValue, int seriesIndex, XYMultipleSeriesRenderer.Orientation or, int startIndex)

      Draws the series.

      Parameters
      • series: the series

      • canvas: the canvas

      • paint: the paint object

      • pointsList: the points to be rendered

      • seriesRenderer: the series renderer

      • yAxisValue: the y axis value in pixels

      • seriesIndex: the series index

      • or: the orientation

      • startIndex: the start index of the rendering points

    • drawPoints

      protected void drawPoints(Canvas canvas, Paint paint, List<Float> pointsList, XYSeriesRenderer seriesRenderer, float yAxisValue, int seriesIndex, int startIndex)

      Draws the series points.

      Parameters
      • canvas: the canvas

      • paint: the paint object

      • pointsList: the points to be rendered

      • seriesRenderer: the series renderer

      • yAxisValue: the y axis value in pixels

      • seriesIndex: the series index

      • startIndex: the start index of the rendering points

    • drawChartValuesText

      protected void drawChartValuesText(Canvas canvas, XYSeries series, XYSeriesRenderer renderer, Paint paint, List<Float> points, int seriesIndex, int startIndex)

      The graphical representation of the series values as text.

      Parameters
      • canvas: the canvas to paint to

      • series: the series to be painted

      • renderer: the series renderer

      • paint: the paint to be used for drawing

      • points: the array of points to be used for drawing the series

      • seriesIndex: the index of the series currently being drawn

      • startIndex: the start index of the rendering points

    • drawText

      protected void drawText(Canvas canvas, String text, float x, float y, Paint paint, float extraAngle)

      The graphical representation of a text, to handle both HORIZONTAL and VERTICAL orientations and extra rotation angles.

      Parameters
      • canvas: the canvas to paint to

      • text: the text to be rendered

      • x: the X axis location of the text

      • y: the Y axis location of the text

      • paint: the paint to be used for drawing

      • extraAngle: the text angle

    • drawXLabels

      protected void drawXLabels(List<Double> xLabels, Double[] xTextLabelLocations, Canvas canvas, Paint paint, int left, int top, int bottom, double xPixelsPerUnit, double minX, double maxX)

      The graphical representation of the labels on the X axis.

      Parameters
      • xLabels: the X labels values

      • xTextLabelLocations: the X text label locations

      • canvas: the canvas to paint to

      • paint: the paint to be used for drawing

      • left: the left value of the labels area

      • top: the top value of the labels area

      • bottom: the bottom value of the labels area

      • xPixelsPerUnit: the amount of pixels per one unit in the chart labels

      • minX: the minimum value on the X axis in the chart

      • maxX: the maximum value on the X axis in the chart

    • drawYLabels

      protected void drawYLabels(Map<Integer, List<Double>> allYLabels, Canvas canvas, Paint paint, int maxScaleNumber, int left, int right, int bottom, double[] yPixelsPerUnit, double[] minY)

      The graphical representation of the labels on the Y axis.

      Parameters
      • allYLabels: the Y labels values

      • canvas: the canvas to paint to

      • paint: the paint to be used for drawing

      • maxScaleNumber: the maximum scale number

      • left: the left value of the labels area

      • right: the right value of the labels area

      • bottom: the bottom value of the labels area

      • yPixelsPerUnit: the amount of pixels per one unit in the chart labels

      • minY: the minimum value on the Y axis in the chart

    • drawXTextLabels

      protected void drawXTextLabels(Double[] xTextLabelLocations, Canvas canvas, Paint paint, boolean showLabels, int left, int top, int bottom, double xPixelsPerUnit, double minX, double maxX)

      The graphical representation of the text labels on the X axis.

      Parameters
      • xTextLabelLocations: the X text label locations

      • canvas: the canvas to paint to

      • paint: the paint to be used for drawing

      • left: the left value of the labels area

      • top: the top value of the labels area

      • bottom: the bottom value of the labels area

      • xPixelsPerUnit: the amount of pixels per one unit in the chart labels

      • minX: the minimum value on the X axis in the chart

      • maxX: the maximum value on the X axis in the chart

    • getRenderer

      public XYMultipleSeriesRenderer getRenderer()
    • getDataset

      public XYMultipleSeriesDataset getDataset()
    • getCalcRange

      public double[] getCalcRange(int scale)
    • setCalcRange

      public void setCalcRange(double[] range, int scale)
    • toRealPoint

      public double[] toRealPoint(float screenX, float screenY)
    • toScreenPoint

      public double[] toScreenPoint(double[] realPoint)
    • toRealPoint

      public double[] toRealPoint(float screenX, float screenY, int scale)

      Transforms a screen point to a real coordinates point.

      Parameters
      • screenX: the screen x axis value

      • screenY: the screen y axis value

      Returns

      the real coordinates point

    • toScreenPoint

      public double[] toScreenPoint(double[] realPoint, int scale)
    • getSeriesAndPointForScreenCoordinate

      public SeriesSelection getSeriesAndPointForScreenCoordinate(Point screenPoint)
      Description copied from class: AbstractChart

      Given screen coordinates, returns the series and point indexes of a chart element. If there is no chart element (line, point, bar, etc) at those coordinates, null is returned.

      Parameters
      • screenPoint
      Returns

      the series and point indexes

      Overrides:
      getSeriesAndPointForScreenCoordinate in class AbstractChart
    • drawSeries

      public abstract void drawSeries(Canvas canvas, Paint paint, List<Float> points, XYSeriesRenderer seriesRenderer, float yAxisValue, int seriesIndex, int startIndex)

      The graphical representation of a series.

      Parameters
      • canvas: the canvas to paint to

      • paint: the paint to be used for drawing

      • points: the array of points to be used for drawing the series

      • seriesRenderer: the series renderer

      • yAxisValue: the minimum value of the y axis

      • seriesIndex: the index of the series currently being drawn

      • startIndex: the start index of the rendering points

    • clickableAreasForPoints

      protected abstract ClickableArea[] clickableAreasForPoints(List<Float> points, List<Double> values, float yAxisValue, int seriesIndex, int startIndex)

      Returns the clickable areas for all passed points

      Parameters
      • points: the array of points

      • values: the array of values of each point

      • yAxisValue: the minimum value of the y axis

      • seriesIndex: the index of the series to which the points belong

      • startIndex: the start index of the rendering points

      Returns

      an array of rectangles with the clickable area

    • isRenderNullValues

      protected boolean isRenderNullValues()

      Returns if the chart should display the null values.

      Returns

      if null values should be rendered

    • isRenderPoints

      public boolean isRenderPoints(SimpleSeriesRenderer renderer)

      Returns if the chart should display the points as a certain shape.

      Parameters
      • renderer: the series renderer
    • getDefaultMinimum

      public double getDefaultMinimum()

      Returns the default axis minimum.

      Returns

      the default axis minimum

    • getPointsChart

      public ScatterChart getPointsChart()

      Returns the scatter chart to be used for drawing the data points.

      Returns

      the data points scatter chart

    • getChartType

      public abstract String getChartType()

      Returns the chart type identifier.

      Returns

      the chart type