/*
  * (non-Javadoc)
  *
  * @see com.ibm.examples.chart.widget.AbstractChartBuilder#buildLegend()
  */
 protected void buildLegend() {
   createLegend();
   chart.getLegend().setItemType(LegendItemType.SERIES_LITERAL);
   chart.getLegend().getClientArea().getOutline().setVisible(true);
   chart.getLegend().setVisible(true);
   chart.getLegend().getText().getFont().setSize(7);
 }
  /*
   * (non-Javadoc)
   *
   * @see com.ibm.examples.chart.widget.AbstractChartBuilder#buildChart()
   */
  protected void createChart() {
    data = adapter.getData();
    while (data.length == 0) {
      data = adapter.getData();
    }
    IPreferenceStore store = GraphingAPIUIPlugin.getDefault().getPreferenceStore();
    xSeriesTicks = store.getInt(GraphingAPIPreferenceConstants.P_X_SERIES_TICKS);
    ySeriesTicks = store.getInt(GraphingAPIPreferenceConstants.P_Y_SERIES_TICKS);
    maxItems = store.getInt(GraphingAPIPreferenceConstants.P_MAX_DATA_ITEMS);
    viewableItems = store.getInt(GraphingAPIPreferenceConstants.P_VIEWABLE_DATA_ITEMS);

    chart = ChartWithAxesImpl.create();

    chart.setDimension(ChartDimension.TWO_DIMENSIONAL_LITERAL);
    chart.setType("Scatter Chart");

    // Plot
    // chart.getBlock( ).setBackground(ColorDefinitionImpl.WHITE( ) );
    //  Plot p = chart.getPlot( );
    ///  p.getClientArea( ).setBackground(GradientImpl.create( ColorDefinitionImpl.create(
    // 225,225,255 ),ColorDefinitionImpl.create( 255, 255, 225 ),-35,false ) );
    // p.getOutline( ).setVisible( true );
    // Title        cwaBar.getTitle( )                .getLabel()                .getCaption( )
    //           .setValue( "Bar Chart with        Multiple Y Series" );//$NON-NLS-1$
    // Legend
    // Legend lg = cwaBar.getLegend( );
    // lg.getText(
    // ).getFont( ).setSize( 16 );        lg.getInsets( ).set( 10, 5, 0, 0 );
    // lg.setAnchor( Anchor.NORTH_LITERAL );

  }
  public void updateDataSet() {
    // Associate with Data Set
    try {
      data = adapter.getData();
      int starting = 0;
      if (data.length > xSeriesTicks) starting = data.length - xSeriesTicks;

      x = new String[data.length - starting];
      for (int j = starting, k = 0; j < data.length; j++, k++) x[k] = data[j][0].toString();
      // X-Axis
      TextDataSet categoryValues = TextDataSetImpl.create(x);

      Axis xAxisPrimary = chart.getPrimaryBaseAxes()[0];
      SeriesDefinition sdX = (SeriesDefinition) xAxisPrimary.getSeriesDefinitions().get(0);
      ((Series) sdX.getSeries().get(0)).setDataSet(categoryValues);

      // Y-Axis
      Axis yAxisPrimary = chart.getPrimaryOrthogonalAxis(xAxisPrimary);
      //   chart.getOrthogonalAxes(xAxisPrimary, arg1)

      NumberDataSet orthoValuesDataSet1[] = new NumberDataSet[adapter.getSeriesCount()];
      for (int i = 1; i <= adapter.getSeriesCount(); i++) {
        y = new Double[data.length - starting];
        for (int j = starting, k = 0; j < data.length; j++, k++) {
          y[k] = NumberType.obj2num(data[j][i]).doubleValue();
          if (max < y[k]) max = y[k];
        }

        orthoValuesDataSet1[i - 1] = NumberDataSetImpl.create(y);
        SeriesDefinition sdY = (SeriesDefinition) yAxisPrimary.getSeriesDefinitions().get(i - 1);
        ((Series) sdY.getSeries().get(0)).setDataSet(orthoValuesDataSet1[i - 1]);
      }
      yAxis.getScale().setStep(max / 5);
      yAxis.getScale().setMax(NumberDataElementImpl.create(max));
    } catch (Exception e) {
      //		e.printStackTrace();
    }
  }
 protected void buildTitle() {
   chart.getTitle().getLabel().getCaption().setValue(title);
   chart.getTitle().getLabel().getCaption().getFont().setSize(10);
   chart.getTitle().getLabel().getCaption().getFont().setName(FONT_NAME);
 }
Example #5
0
  public static final Chart createSeriesScript() {
    ChartWithAxes cwaBar = ChartWithAxesImpl.create();
    cwaBar.setType("Bar Chart"); // $NON-NLS-1$
    cwaBar.setSubType("Side-by-side"); // $NON-NLS-1$

    cwaBar.setScript(
        "function beforeDrawSeries(series, renderer, scriptContext)" //$NON-NLS-1$
            + "{series.getLabel().getCaption().getColor().set(12, 232, 182);}" //$NON-NLS-1$
        );

    cwaBar.getLegend().setVisible(false);
    cwaBar.getTitle().getLabel().getCaption().setValue("Chart with Series Script"); // $NON-NLS-1$

    // X-Axis
    Axis xAxisPrimary = cwaBar.getPrimaryBaseAxes()[0];
    xAxisPrimary.setType(AxisType.TEXT_LITERAL);
    xAxisPrimary.getOrigin().setType(IntersectionType.VALUE_LITERAL);

    // Y-Axis
    Axis yAxisPrimary = cwaBar.getPrimaryOrthogonalAxis(xAxisPrimary);
    yAxisPrimary.getMajorGrid().setTickStyle(TickStyle.LEFT_LITERAL);
    yAxisPrimary.setType(AxisType.LINEAR_LITERAL);

    // Data Set
    TextDataSet categoryValues =
        TextDataSetImpl.create(
            new String[] {
              "Item 1", "Item 2", "Item 3", "Item 4", "Item 5"
            }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
    NumberDataSet orthoValues = NumberDataSetImpl.create(new double[] {8, 18, -15, -8, 10});

    SampleData sd = DataFactory.eINSTANCE.createSampleData();
    BaseSampleData sdBase = DataFactory.eINSTANCE.createBaseSampleData();
    sdBase.setDataSetRepresentation(""); // $NON-NLS-1$
    sd.getBaseSampleData().add(sdBase);

    OrthogonalSampleData sdOrthogonal = DataFactory.eINSTANCE.createOrthogonalSampleData();
    sdOrthogonal.setDataSetRepresentation(""); // $NON-NLS-1$
    sdOrthogonal.setSeriesDefinitionIndex(0);
    sd.getOrthogonalSampleData().add(sdOrthogonal);

    cwaBar.setSampleData(sd);

    // X-Series
    Series seCategory = SeriesImpl.create();
    seCategory.setDataSet(categoryValues);

    SeriesDefinition sdX = SeriesDefinitionImpl.create();
    xAxisPrimary.getSeriesDefinitions().add(sdX);
    sdX.getSeries().add(seCategory);

    // Y-Series
    BarSeries bs = (BarSeries) BarSeriesImpl.create();
    bs.setDataSet(orthoValues);
    bs.getLabel().setVisible(true);

    SeriesDefinition sdY = SeriesDefinitionImpl.create();
    yAxisPrimary.getSeriesDefinitions().add(sdY);
    sdY.getSeries().add(bs);

    return cwaBar;
  }
Example #6
0
  /**
   * Creates a scatter chart model as a reference implementation
   *
   * @return An instance of the simulated runtime chart model (containing filled datasets)
   */
  public static final Chart createDateTimeScatter() {
    ChartWithAxes cwaScatter = ChartWithAxesImpl.create();

    // TODO: research running script under plugin test.

    cwaScatter.setScript(
        "function beforeDrawAxisLabel(axis, label, context)" //$NON-NLS-1$
            + "{label.getCaption().setValue(\"ABC\"); " //$NON-NLS-1$
            + "axis.setLabel(label);}" //$NON-NLS-1$
        );

    // Plot

    cwaScatter.getPlot().getClientArea().getOutline().setVisible(true);

    // Title
    cwaScatter.getTitle().setVisible(false);

    // X-Axis
    Axis xAxisPrimary = ((ChartWithAxesImpl) cwaScatter).getPrimaryBaseAxes()[0];
    xAxisPrimary.getTitle().getCaption().setValue("Time");
    xAxisPrimary.setType(AxisType.DATE_TIME_LITERAL);
    xAxisPrimary.getTitle().setVisible(true);
    xAxisPrimary.getOrigin().setType(IntersectionType.MIN_LITERAL);

    // Y-Axis
    Axis yAxisPrimary = ((ChartWithAxesImpl) cwaScatter).getPrimaryOrthogonalAxis(xAxisPrimary);
    yAxisPrimary.getTitle().getCaption().setValue("Score");

    yAxisPrimary.getTitle().setBackground(ColorDefinitionImpl.WHITE());
    yAxisPrimary.getTitle().setVisible(true);
    yAxisPrimary.setType(AxisType.LINEAR_LITERAL);
    yAxisPrimary.getOrigin().setType(IntersectionType.MIN_LITERAL);

    // create chart data
    int seriesLen = 10;
    double[] yseries = new double[seriesLen];
    Calendar[] datetime = new Calendar[seriesLen];
    for (int i = 0; i < seriesLen; i++) {
      yseries[i] = ((double) i);
      datetime[i] = new GregorianCalendar();
      datetime[i].setTime(new Date(i));
      // uncomment the following line and chart works ok
      // datetime[i].setTime(new Date(i*1000));
    }
    NumberDataSet dsNumericValues2 = NumberDataSetImpl.create(yseries);
    DateTimeDataSet dsDateTime = DateTimeDataSetImpl.create(datetime);

    // X-Series
    Series seBase = SeriesImpl.create();
    seBase.setDataSet(dsDateTime);
    SeriesDefinition sdX = SeriesDefinitionImpl.create();
    xAxisPrimary.getSeriesDefinitions().add(sdX);
    sdX.getSeries().add(seBase);

    // Y-Series
    ScatterSeries ss = (ScatterSeries) ScatterSeriesImpl.create();
    ss.setDataSet(dsNumericValues2);
    SeriesDefinition sdY = SeriesDefinitionImpl.create();
    yAxisPrimary.getSeriesDefinitions().add(sdY);
    sdY.getSeries().add(ss);

    return cwaScatter;
  }