/* * (non-Javadoc) * * @see com.ibm.examples.chart.widget.chart.AbstractChartBuilder#buildXSeries() */ protected void buildXSeries() { data = adapter.getData(); int starting = 0; if (data.length > xSeriesTicks) starting = data.length - xSeriesTicks; x = new String[data.length - starting]; try { for (int j = starting, k = 0; j < data.length; j++, k++) x[k] = data[j][0].toString(); } catch (Exception e) { // e.printStackTrace(); } TextDataSet categoryValues = TextDataSetImpl.create(x); // NumberDataSet categoryValues = NumberDataSetImpl.create(new double[] { 0, 1, 2, 3 }); Series seCategory = SeriesImpl.create(); seCategory.setDataSet(categoryValues); // Apply the color palette SeriesDefinition sdX = SeriesDefinitionImpl.create(); sdX.getSeriesPalette().update(1); xAxis.getSeriesDefinitions().add(sdX); sdX.getSeries().add(seCategory); }
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; }
/** * 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; }