示例#1
0
 /**
  * Transforms the currently selected screen point to a real point.
  *
  * @param scale the scale
  * @return the currently selected real point
  */
 public double[] toRealPoint(int scale) {
   if (mChart instanceof XYChart) {
     XYChart chart = (XYChart) mChart;
     return chart.toRealPoint(oldX, oldY, scale);
   }
   return null;
 }
 /**
  * Returns a chart instance based on the provided type.
  *
  * @param type the chart type
  * @return an instance of a chart implementation
  * @throws IllegalAccessException
  * @throws InstantiationException
  */
 private XYChart getXYChart(String type) throws IllegalAccessException, InstantiationException {
   XYChart chart = null;
   int length = xyChartTypes.length;
   for (int i = 0; i < length && chart == null; i++) {
     XYChart newChart = (XYChart) xyChartTypes[i].newInstance();
     if (type.equals(newChart.getChartType())) {
       chart = newChart;
     }
   }
   return chart;
 }
 public XYLineChartFactory() {
   chart = (XYChart) RaphaelFactory.get();
   dataTable = chart.getDataTable();
   colorMap = RaphaelFactory.getColorMap();
   chartSet = chart.new Set();
   chartStack = new Stack<RaphaelObject>();
   AxisFactory axisFactory = new AxisFactory();
   xAxis = axisFactory.getXAxis();
   yAxis = axisFactory.getYAxis();
   axisWidth = AxisLabelHelper.getXAxisLength();
   axisHeight = AxisLabelHelper.getYAxisLength();
   plotSet = chart.new Set();
   pointDataTable = new HashMap<String, List<PointData>>();
   pushAxisToChart();
 }
 /**
  * Sets the series and the renderer.
  *
  * @param dataset the series dataset
  * @param renderer the series renderer
  */
 protected void setDatasetRenderer(
     XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) {
   super.setDatasetRenderer(dataset, renderer);
   pointsChart = new ScatterChart(dataset, renderer);
 }
示例#5
0
 // TODO: javadoc
 protected void setDatasetRenderer(
     XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer) {
   super.setDatasetRenderer(dataset, renderer);
   size = renderer.getPointSize();
 }
  // Main code for creating charts
  public void createChart(ChartViewer viewer, int chartIndex) {
    // The data for the bar chart
    double[] data = {450, 560, 630, 800, 1100, 1350, 1600, 1950, 2300, 2700};

    // The labels for the bar chart
    String[] labels = {
      "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005"
    };

    // Create a XYChart object of size 600 x 360 pixels
    XYChart c = new XYChart(600, 360);

    // Add a title to the chart using 18pt Times Bold Italic font
    c.addTitle("Annual Revenue for Star Tech", "Times New Roman Bold Italic", 18);

    // Set the plotarea at (60, 40) and of size 500 x 280 pixels. Use a vertical gradient color
    // from light blue (eeeeff) to deep blue (0000cc) as background. Set border and grid lines
    // to white (ffffff).
    c.setPlotArea(
        60,
        40,
        500,
        280,
        c.linearGradientColor(60, 40, 60, 280, 0xeeeeff, 0x0000cc),
        -1,
        0xffffff,
        0xffffff);

    // Add a multi-color bar chart layer using the supplied data. Use soft lighting effect with
    // light direction from left.
    c.addBarLayer3(data).setBorderColor(Chart.Transparent, Chart.softLighting(Chart.Left));

    // Set x axis labels using the given labels
    c.xAxis().setLabels(labels);

    // Draw the ticks between label positions (instead of at label positions)
    c.xAxis().setTickOffset(0.5);

    // Add a title to the y axis with 10pt Arial Bold font
    c.yAxis().setTitle("USD (millions)", "Arial Bold", 10);

    // Set axis label style to 8pt Arial Bold
    c.xAxis().setLabelStyle("Arial Bold", 8);
    c.yAxis().setLabelStyle("Arial Bold", 8);

    // Set axis line width to 2 pixels
    c.xAxis().setWidth(2);
    c.yAxis().setWidth(2);

    // Output the chart
    viewer.setChart(c);

    // include tool tip for the chart
    viewer.setImageMap(c.getHTMLImageMap("clickable", "", "title='Year {xLabel}: US$ {value}M'"));
  }