private void updateSurface(ChartTypeModel chartTypeModel, View chartView) { final SciChartSurface surface = (SciChartSurface) chartView.findViewById(R.id.chart); final IAxis xAxis = sciChartBuilder.newNumericAxis().build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().build(); final StackedSeriesCollectionBase seriesCollection = chartTypeModel.getSeriesCollection(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getRenderableSeries(), seriesCollection); Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); } }); }
private IAxis generateLinearAxis() { return sciChartBuilder.newNumericAxis() .withTextFormatting("#.#E+0") .withScientificNotation(ScientificNotation.Normalized) .withGrowBy(0.1, 0.1) .withDrawMajorBands(false) .build(); }
@Override protected void initExample() { texture = BitmapFactory.decodeResource(getResources(), R.drawable.example_scichartlogo); final SpinnerStringAdapter seriesTypeAdapter = new SpinnerStringAdapter(getActivity(), R.array.fill_list); fillSpinner.setAdapter(seriesTypeAdapter); fillSpinner.setSelection(0); xAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); yAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); final XyDataSeries<Double, Double> dataSeries = new XyDataSeries<>(Double.class, Double.class); dataSeries.append(new Double[]{0d, 2d, 4d, 6d, 8d, 10d, 12d, 14d, 16d, 18d, 20d,}, new Double[]{0d, 5d, -5d, -10d, 10d, 3d, 0d, -4d, -12d, 4d, 15d, 10d}); mountainRenderableSeries = sciChartBuilder.newMountainSeries().withDataSeries(dataSeries).withStrokeStyle(ColorUtil.White, 3f, false).build(); Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), mountainRenderableSeries); Collections.addAll(surface.getRenderableSeries(), mountainRenderableSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); surface.zoomExtents(); }
@Override protected void initExample() { seekBar.setOnSeekBarChangeListener(this); final NumericAxis xAxis = sciChartBuilder.newNumericAxis().withAxisAlignment(AxisAlignment.Bottom).build(); final NumericAxis yAxis = sciChartBuilder.newNumericAxis().withAxisAlignment(AxisAlignment.Right).build(); final UniformHeatmapDataSeries<Integer, Integer, Double> dataSeries = new UniformHeatmapDataSeries<>(Integer.class, Integer.class, Double.class, WIDTH, HEIGHT); paletteProvider.setThresholdValue(seekBar.getProgress()); dataSeries.updateZValues(createValues()); final FastUniformHeatmapRenderableSeries heatmapRenderableSeries = sciChartBuilder.newUniformHeatmap() .withDataSeries(dataSeries) .withMinimum(0) .withMaximum(200) .withPaletteProvider(paletteProvider) .build(); Collections.addAll(chart.getXAxes(), xAxis); Collections.addAll(chart.getYAxes(), yAxis); Collections.addAll(chart.getRenderableSeries(), heatmapRenderableSeries); Collections.addAll(chart.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); }
@Override protected void initExample() { texture = BitmapFactory.decodeResource(getResources(), R.drawable.example_scichartlogo); final SpinnerStringAdapter seriesTypeAdapter = new SpinnerStringAdapter(getActivity(), R.array.fill_list); fillSpinner.setAdapter(seriesTypeAdapter); fillSpinner.setSelection(0); final SpinnerStringAdapter seriesMappingAdapter = new SpinnerStringAdapter(getActivity(), R.array.texture_mapping_mode_list); textureMappingModesSpinner.setAdapter(seriesMappingAdapter); textureMappingModesSpinner.setSelection(0); xAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); yAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); final XyDataSeries<Double, Double> dataSeries = new XyDataSeries<>(Double.class, Double.class); dataSeries.append(new Double[]{0d, 2d, 4d, 6d, 8d, 10d}, new Double[]{1d, 5d, -5d, -10d, 10d, 3d}); rs = sciChartBuilder.newColumnSeries().withDataSeries(dataSeries).withStrokeStyle(ColorUtil.White, 3f, false).build(); surface.getChartModifiers().add(sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rs); surface.zoomExtents(); }
@Override protected void initExample() { final NumericAxis xAxis = sciChartBuilder.newNumericAxis().withVisibleRange(0, 10).withAxisTitle("X Axis").build(); final NumericAxis yAxis = sciChartBuilder.newNumericAxis().withVisibleRange(0, 10).withAxisTitle("Y Axis").build(); surface.getXAxes().add(xAxis); surface.getYAxes().add(yAxis); surface.getChartModifiers().add(sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); }
@Override public void run() { final NumericAxis xAxis = sciChartBuilder.newNumericAxis() .withVisibleRange(xVisibleRange) .withAutoRangeMode(AutoRange.Never) .build(); final NumericAxis yAxis = sciChartBuilder.newNumericAxis() .withGrowBy(new DoubleRange(0.1d, 0.1d)) .withAutoRangeMode(AutoRange.Always) .build(); final AnimatingLineRenderableSeries rs1 = new AnimatingLineRenderableSeries(); rs1.setDataSeries(ds1); rs1.setStrokeStyle(sciChartBuilder.newPen().withColor(ColorUtil.argb(0xFF, 0x40, 0x83, 0xB7)).withAntiAliasing(true).withThickness(3).build()); Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rs1); } });
@Override public void run() { final IAxis xBottomAxis = sciChartBuilder.newNumericAxis() .withVisibleRange(new DoubleRange(0d, 10d)) .withAutoRangeMode(AutoRange.Never) .withAxisTitle("Time (seconds)") .build(); final IAxis yRightAxis = sciChartBuilder.newNumericAxis() .withVisibleRange(new DoubleRange(-0.5d, 1.5d)) .withAxisTitle("Voltage (mV)") .build(); final IRenderableSeries rs1 = sciChartBuilder.newLineSeries() .withDataSeries(series0) .build(); final IRenderableSeries rs2 = sciChartBuilder.newLineSeries() .withDataSeries(series1) .build(); Collections.addAll(surface.getXAxes(), xBottomAxis); Collections.addAll(surface.getYAxes(), yRightAxis); Collections.addAll(surface.getRenderableSeries(), rs1, rs2); } });
private void initChart(final SciChartSurface surface) { final IAxis xAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.1d, 0.1d).withVisibleRange(sharedXRange).build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.1d, 0.1d).withVisibleRange(sharedYRange).build(); final FastLineRenderableSeries line = sciChartBuilder.newLineSeries().withDataSeries(createDataSeries()).withStrokeStyle(ColorUtil.Green, 1f, true).build(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), line); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroup() .withMotionEventsGroup("ModifiersSharedEventsGroup").withReceiveHandledEvents(true) .withZoomExtentsModifier().build() .withPinchZoomModifier().build() .withRolloverModifier().withReceiveHandledEvents(true).build() .withXAxisDragModifier().withReceiveHandledEvents(true).build() .withYAxisDragModifier().withReceiveHandledEvents(true).build() .build()); surface.zoomExtents(); sciChartBuilder.newAnimator(line).withSweepTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(3000).withStartDelay(350).start(); } }); }
@Override public void run() { final IAxis xBottomAxis = sciChartBuilder.newNumericAxis() .withAutoRangeMode(AutoRange.Never) .withAxisTitle("Time (ms)") .withVisibleRange(new DoubleRange(2.5, 4.5)) .build(); final IAxis yRightAxis = sciChartBuilder.newNumericAxis() .withAutoRangeMode(AutoRange.Never) .withAxisTitle("Voltage (mV)") .withVisibleRange(new DoubleRange(-12.5, 12.5)) .build(); rSeries = sciChartBuilder.newLineSeries() .withDataSeries(dataSeries1) .withXAxisId(xBottomAxis.getAxisId()) .withYAxisId(yRightAxis.getAxisId()) .build(); Collections.addAll(surface.getXAxes(), xBottomAxis); Collections.addAll(surface.getYAxes(), yRightAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); } });
@Override protected void initExample() { final NumericAxis xAxis = sciChartBuilder.newNumericAxis().withAutoRangeMode(AutoRange.Always).withDrawMajorBands(true).withVisibleRange(0, 150).withAxisTitle("X Axis").build(); final NumericAxis yAxis = sciChartBuilder.newNumericAxis().withAutoRangeMode(AutoRange.Always).withDrawMajorBands(true).withVisibleRange(-1.5, -1.5).withAxisTitle("Y Axis").build(); surface.getXAxes().add(xAxis); surface.getYAxes().add(yAxis); surface.getChartModifiers().add(sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); }
@Override protected void initExample() { final IAxis xAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.1d, 0.1d).withVisibleRange(1.1, 2.7).build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.1d, 0.1d).build(); final DoubleSeries fourierSeries = DataManager.getInstance().getFourierSeries(1.0, 0.1, 5000); final IXyDataSeries<Double, Double> dataSeries = sciChartBuilder.newXyDataSeries(Double.class, Double.class).build(); dataSeries.append(fourierSeries.xValues, fourierSeries.yValues); final FastLineRenderableSeries rSeries = sciChartBuilder.newLineSeries().withDataSeries(dataSeries).withStrokeStyle(0xFF279B27, 1f, true).build(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); sciChartBuilder.newAnimator(rSeries).withSweepTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(3000).withStartDelay(350).start(); } }); } }
@Override protected void initExample() { final IAxis xAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.1, 0.1).withDrawMajorBands(true).withVisibleRange(1, 1.25).build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.5, 0.5).withDrawMajorBands(true).withVisibleRange(2.3, 3.3).build(); final DoubleSeries fourierSeries = DataManager.getInstance().getFourierSeries(1.0, 0.1, 5000); final XyDataSeries<Double, Double> dataSeries = sciChartBuilder.newXyDataSeries(Double.class, Double.class).build(); dataSeries.append(fourierSeries.xValues, fourierSeries.yValues); final FastLineRenderableSeries rSeries = sciChartBuilder.newLineSeries() .withDataSeries(dataSeries) .withStrokeStyle(0xFF99EE99, 1f, true) .withIsDigitalLine(true) .build(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); sciChartBuilder.newAnimator(rSeries).withWaveTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(3000).withStartDelay(350).start(); } }); } }
@Override protected void initExample() { final IAxis xAxis = sciChartBuilder.newNumericAxis().build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); DoubleSeries data = new RandomWalkGenerator(0).setBias(0.0001).getRandomWalkSeries(10000); final IXyDataSeries<Double, Double> dataSeries = sciChartBuilder.newXyDataSeries(Double.class, Double.class).build(); dataSeries.append(data.xValues, data.yValues); final FastLineRenderableSeries rSeries = sciChartBuilder.newLineSeries().withDataSeries(dataSeries).withStrokeStyle(ColorUtil.argb(255, 9, 68, 27), 1, true).build(); rubberBandXyZoomModifier = new RubberBandXyZoomModifier(); rubberBandXyZoomModifier.setIsXAxisOnly(true); rubberBandXyZoomModifier.setReceiveHandledEvents(true); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroup() .withZoomExtentsModifier().build() .withModifier(rubberBandXyZoomModifier) .build()); sciChartBuilder.newAnimator(rSeries).withSweepTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(2000).withStartDelay(350).start(); } }); }
protected BasePaneModel(SciChartBuilder builder, String title, String yAxisTextFormatting, boolean isFirstPane) { this.title = title; this.renderableSeries = new RenderableSeriesCollection(); this.annotations = new AnnotationCollection(); this.yAxis = builder.newNumericAxis() .withAxisId(title) .withTextFormatting(yAxisTextFormatting) .withAutoRangeMode(AutoRange.Always) .withDrawMinorGridLines(true) .withDrawMajorGridLines(true) .withMinorsPerMajor(isFirstPane ? 4 : 2) .withMaxAutoTicks(isFirstPane ? 8 : 4) .withGrowBy(isFirstPane ? new DoubleRange(0.05d, 0.05d) : new DoubleRange(0d, 0d)) .build(); }
protected BasePaneModel(SciChartBuilder builder, String title, String yAxisTextFormatting, boolean isFirstPane) { this.title = title; this.renderableSeries = new RenderableSeriesCollection(); this.annotations = new AnnotationCollection(); this.yAxis = builder.newNumericAxis() .withAxisId(title) .withTextFormatting(yAxisTextFormatting) .withAutoRangeMode(AutoRange.Always) .withDrawMinorGridLines(true) .withDrawMajorGridLines(true) .withMinorsPerMajor(isFirstPane ? 4 : 2) .withMaxAutoTicks(isFirstPane ? 8 : 4) .withGrowBy(isFirstPane ? new DoubleRange(0.05d, 0.05d) : new DoubleRange(0d, 0d)) .build(); }
@Override protected void initExample() { final IAxis xAxis = sciChartBuilder.newNumericAxis().withAxisAlignment(AxisAlignment.Top).withMajorTickLineStyle(0xFFFFFFFF, 2f, true).withTextFormatting("0.00").withDrawMinorTicks(false).withIsCenterAxis(true).withGrowBy(0.1, 0.1).build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().withAxisAlignment(AxisAlignment.Left).withMajorTickLineStyle(0xFFFFFFFF, 2f, true).withTextFormatting("0.00").withDrawMinorTicks(false).withIsCenterAxis(true).withGrowBy(0.1, 0.1).build(); final DoubleSeries butterflyCurve = DataManager.getInstance().getButterflyCurve(20000); final XyDataSeries<Double, Double> dataSeries = sciChartBuilder.newXyDataSeries(Double.class, Double.class).withAcceptsUnsortedData().build(); dataSeries.append(butterflyCurve.xValues, butterflyCurve.yValues); final FastLineRenderableSeries rSeries = sciChartBuilder.newLineSeries().withDataSeries(dataSeries).build(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { surface.setLayoutManager(new CenterLayoutManager(xAxis, yAxis)); Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); sciChartBuilder.newAnimator(rSeries).withSweepTransformation().withDuration(20000).withStartDelay(350).start(); } }); }
private void initializeOverview(final SciChartSurface surface) { surface.setRenderableSeriesAreaBorderStyle(null); final CategoryDateAxis xAxis = builder.newCategoryDateAxis() .withBarTimeFrame(SECONDS_IN_FIVE_MINUTES) .withAutoRangeMode(AutoRange.Always) .withDrawMinorGridLines(false) .withVisibility(View.GONE) .withGrowBy(0, 0.1) .build(); overviewXAxisVisibleRange = xAxis.getVisibleRange(); final NumericAxis yAxis = builder.newNumericAxis().withAutoRangeMode(AutoRange.Always).withVisibility(View.INVISIBLE).build(); removeAxisGridLines(xAxis, yAxis); final FastMountainRenderableSeries mountain = builder.newMountainSeries().withDataSeries(overviewDataSeries).build(); UpdateSuspender.using(surface, new Runnable() { @Override public synchronized void run() { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), mountain); Collections.addAll(surface.getAnnotations(), boxAnnotation, leftBox, rightBox, leftLineGrip, rightLineGrip); } }); }
@Override protected void initExample() { final IAxis xBottomAxis = sciChartBuilder.newDateAxis().withGrowBy(0.1d, 0.1d).build(); final IAxis yRightAxis = sciChartBuilder.newNumericAxis().withGrowBy(0.1d, 0.1d).build(); final PriceSeries priceData = DataManager.getInstance().getPriceDataIndu(getActivity()); final IXyDataSeries<Date, Double> dataSeries = sciChartBuilder.newXyDataSeries(Date.class, Double.class).build(); dataSeries.append(priceData.getDateData(), priceData.getCloseData()); final FastMountainRenderableSeries rSeries = sciChartBuilder.newMountainSeries() .withDataSeries(dataSeries) .withStrokeStyle(0xAAFFC9A8, 1f, true) .withAreaFillLinearGradientColors(0xAAFF8D42, 0x88090E11) .build(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getXAxes(), xBottomAxis); Collections.addAll(surface.getYAxes(), yRightAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); sciChartBuilder.newAnimator(rSeries).withWaveTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(3000).withStartDelay(350).start(); } }); } }
@Override protected void initExample() { final IAxis xAxis = sciChartBuilder.newDateAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0.1d, 0.1d)).build(); final IXyDataSeries<Date, Double> dataSeries = sciChartBuilder.newXyDataSeries(Date.class, Double.class).build(); final PriceSeries priceData = DataManager.getInstance().getPriceDataIndu(getActivity()); dataSeries.append(priceData.getDateData(), priceData.getCloseData()); final FastMountainRenderableSeries rSeries = sciChartBuilder.newMountainSeries() .withDataSeries(dataSeries) .withIsDigitalLine(true) .withStrokeStyle(0xAAFFC9A8, 1, true) .withAreaFillLinearGradientColors(0xAAFF8D42, 0x88090E11) .build(); UpdateSuspender.using(surface, new Runnable() { @Override public void run() { Collections.addAll(surface.getXAxes(), xAxis); Collections.addAll(surface.getYAxes(), yAxis); Collections.addAll(surface.getRenderableSeries(), rSeries); Collections.addAll(surface.getChartModifiers(), sciChartBuilder.newModifierGroupWithDefaultModifiers().build()); sciChartBuilder.newAnimator(rSeries).withWaveTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(3000).withStartDelay(350).start(); } }); } }