/* * (non-Javadoc) * * @see com.ibm.examples.chart.widget.AbstractChartBuilder#buildYSeries() */ protected void buildYSeries() { try { int starting = 0; if (data.length > xSeriesTicks) starting = data.length - xSeriesTicks; int yseriescount = adapter.getSeriesCount(); NumberDataSet orthoValuesDataSet[] = new NumberDataSet[yseriescount]; ScatterSeries ss1[] = new ScatterSeries[yseriescount]; SeriesDefinition sdY[] = new SeriesDefinition[yseriescount]; for (int i = 1; i <= yseriescount; 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]; if (min > y[k]) min = y[k]; } orthoValuesDataSet[i - 1] = NumberDataSetImpl.create(y); ss1[i - 1] = (ScatterSeries) ScatterSeriesImpl.create(); ss1[i - 1].setDataSet(orthoValuesDataSet[i - 1]); // bs1[i-1].getDisplayName(). // bs1[i-1].getLabel().setVisible(true); // bs1[i-1].setLabelPosition(Position.INSIDE_LITERAL); ss1[i - 1].setSeriesIdentifier(labels[i]); ss1[i - 1].getMarker().setSize(2); // ss1[i-1].getMarkers(). for (int m = 0; m < ss1[i - 1].getMarkers().size(); m++) { ((Marker) ss1[i - 1].getMarkers().get(m)).setType(MarkerType.get(i)); ((Marker) ss1[i - 1].getMarkers().get(m)).setSize(2); } // ss1[i-1].getLineAttributes().setVisible(true); sdY[i - 1] = SeriesDefinitionImpl.create(); sdY[i - 1].getSeriesPalette().update(0 - i - 2); yAxis.getSeriesDefinitions().add(sdY[i - 1]); sdY[i - 1].getSeries().add(ss1[i - 1]); } System.out.println("not bin updatedataset:" + max); yAxis.getScale().setStep(max / 2); yAxis.getScale().setMax(NumberDataElementImpl.create(max)); } catch (Exception e) { // e.printStackTrace(); } }
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(); } }
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; }