Class AxisChart

java.lang.Object
org.jCharts.Chart
org.jCharts.axisChart.AxisChart
All Implemented Interfaces:
Serializable, HTMLChartTestable
Direct Known Subclasses:
ScatterPlotAxisChart

public class AxisChart extends Chart implements HTMLChartTestable
This Class is used to create all axis chart types. This class knows how to render charts based on the ChartType specified in on the iAxisChartDataSet.
See Also:
  • Field Details

  • Constructor Details

    • AxisChart

      public AxisChart(IAxisDataSeries iAxisDataSeries, ChartProperties chartProperties, AxisProperties axisProperties, LegendProperties legendProperties, int pixelWidth, int pixelHeight)
      Constructor
      Parameters:
      iAxisDataSeries -
      chartProperties -
      axisProperties -
      legendProperties - if no legend is desired, pass NULL
      pixelWidth -
      pixelHeight -
  • Method Details

    • getIAxisDataSeries

      public IAxisDataSeries getIAxisDataSeries()
      Returns:
      IAxisDataSeries
    • createAxisChartDataProcessor

      public AxisChartDataProcessor createAxisChartDataProcessor()
      ScatterPlots create a subclass of AxisChartDataProcessor so we need this method so we can overload it.
      Returns:
      AxisChartDataProcessor
    • setupDataAxisProperties

      protected NumericTagGroup setupDataAxisProperties(Axis axis, DataAxisProperties dataAxisProperties, AxisChartDataProcessor axisChartDataProcessor, FontRenderContext fontRenderContext)
      Once we determine which axis is the data axis, the logic to set it up is the same whether it is a horizontal or vertical plot.
      Parameters:
      dataAxisProperties -
      axisChartDataProcessor -
      fontRenderContext -
      Returns:
      NumericTagGroup need to set this on the right axis
    • setupAxis

      protected void setupAxis(AxisChartDataProcessor axisChartDataProcessor, FontRenderContext fontRenderContext) throws ChartDataException
      Parameters:
      axisChartDataProcessor -
      fontRenderContext -
      Throws:
      ChartDataException
    • sizeAndPositionAxis

      private void sizeAndPositionAxis(float xAxisWidth, float yAxisHeight, float chartTitleHeight)
      Finalizes the size of both Axis and sets the origin position
      Parameters:
      xAxisWidth -
      yAxisHeight -
      chartTitleHeight -
    • deriveAxisValues

      protected void deriveAxisValues()
    • renderChart

      protected void renderChart() throws ChartDataException, PropertyException
      Implement the method to render the Axis based chart
      Specified by:
      renderChart in class Chart
      Throws:
      ChartDataException
      PropertyException - there are several validations done to aid in development of the charts.
    • overlayCharts

      protected void overlayCharts() throws PropertyException, ChartDataException
      Draws the charts over the axis. We have to render in a specific order so combo charts get drawn correctly
      Throws:
      PropertyException
      ChartDataException
    • validateHorizontalPlot

      private void validateHorizontalPlot() throws PropertyException
      Currently, we only support the bar chart types being horizontal, and you can not have a horizontally plotted bar chart in a combo chart.
      Throws:
      PropertyException
    • allowHorizontalPlot

      private boolean allowHorizontalPlot()
      We only allow horizontal plots for the Bar Chart types in this release.
      Returns:
      boolean
    • getAxisProperties

      public AxisProperties getAxisProperties()
    • getXAxis

      public XAxis getXAxis()
    • getYAxis

      public YAxis getYAxis()
    • toHTML

      public void toHTML(HTMLGenerator htmlGenerator, String imageFileName, ImageMap imageMap)
      Enables the testing routines to display the contents of this Object. Override Chart implementation as PieCharts use AreaProperties directly rather than a child.
      Specified by:
      toHTML in interface HTMLChartTestable
      Overrides:
      toHTML in class Chart
      Parameters:
      htmlGenerator -
      imageFileName -
      imageMap - if this is NULL we are not creating image map data in html