@Override public void run() { final Random random = new Random(); final DoubleSeries randomDoubleSeries = DataManager.getInstance().getRandomDoubleSeries(150); final IXyDataSeries<Double, Double> series = new XyDataSeries<>(Double.class, Double.class); series.append(randomDoubleSeries.xValues, randomDoubleSeries.yValues); final FastMountainRenderableSeries renderableSeries = sciChartBuilder.newMountainSeries() .withDataSeries(series) .withAreaFillColor(ColorUtil.argb(random.nextInt(255), random.nextInt(255), random.nextInt(255), 150)) .withStrokeStyle(ColorUtil.rgb(random.nextInt(255), random.nextInt(255), random.nextInt(255))) .build(); surface.getRenderableSeries().add(renderableSeries); } });
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (savedInstanceState != null) { final int seriesCount = savedInstanceState.getInt("seriesCount"); for (int i = 0; i < seriesCount; i++) { final int seriesColor = savedInstanceState.getInt("seriesColor" + i); final int areaColor = savedInstanceState.getInt("areaColor" + i); final ISciList<Double> xValues = savedInstanceState.getParcelable("xValues" + i); final ISciList<Double> yValues = savedInstanceState.getParcelable("yValues" + i); final IXyDataSeries<Double, Double> series = new XyDataSeries<>(Double.class, Double.class); series.append(xValues, yValues); final FastMountainRenderableSeries renderableSeries = sciChartBuilder.newMountainSeries() .withDataSeries(series) .withAreaFillColor(areaColor) .withStrokeStyle(seriesColor) .build(); surface.getRenderableSeries().add(renderableSeries); } } }
@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(); }
.withDataSeries(scatterData) .withYAxisId("primaryYAxis") .withStrokeStyle(ColorUtil.LightBlue, 2f, true)
.withAreaFillColor(0x9787CEEB) .withStrokeStyle(ColorUtil.Magenta) .withDataSeries(mountainDataSeries) .withPaletteProvider(new XyCustomPaletteProvider(ColorUtil.Red, annotation)) .build();
.withStrokeStyle(ColorUtil.SteelBlue, 2f) .withAreaFillColor(ColorUtil.LightSteelBlue) .withDataSeries(dataSeries1) .build();
columnDataSeries.append(priceBars.getIndexesAsDouble(), priceBars.getVolumeData()); final FastMountainRenderableSeries mountainSeries = sciChartBuilder.newMountainSeries().withDataSeries(mountainDataSeries).withYAxisId("PrimaryAxisId").build(); final FastLineRenderableSeries lineSeries = sciChartBuilder.newLineSeries().withDataSeries(lineDataSeries).withYAxisId("PrimaryAxisId").build(); final FastColumnRenderableSeries columnSeries = sciChartBuilder.newColumnSeries().withDataSeries(columnDataSeries).withYAxisId("SecondaryAxisId").build();
columnDataSeries.append(priceBars.getIndexesAsDouble(), priceBars.getVolumeData()); final FastMountainRenderableSeries mountainSeries = sciChartBuilder.newMountainSeries().withDataSeries(mountainDataSeries).withYAxisId("PrimaryAxisId").build(); final FastLineRenderableSeries lineSeries = sciChartBuilder.newLineSeries().withDataSeries(lineDataSeries).withYAxisId("PrimaryAxisId").build(); final FastColumnRenderableSeries columnSeries = sciChartBuilder.newColumnSeries().withDataSeries(columnDataSeries).withYAxisId("SecondaryAxisId").build();
final XyDataSeries<Double, Double> ds3 = sciChartBuilder.newXyDataSeries(Double.class, Double.class).build(); final FastMountainRenderableSeries rs1 = sciChartBuilder.newMountainSeries().withDataSeries(ds1).withAreaFillColor(0x77279B27).withStrokeStyle(0xFF177B17, 1f, true).build(); final FastMountainRenderableSeries rs2 = sciChartBuilder.newMountainSeries().withDataSeries(ds2).withAreaFillColor(0x77FF1919).withStrokeStyle(0xFFDD0909, 1f, true).build(); final FastMountainRenderableSeries rs3 = sciChartBuilder.newMountainSeries().withDataSeries(ds3).withAreaFillColor(0x771964FF).withStrokeStyle(0xFF0944CF, 1f, true).build();
lineDS.append(dampedSinewave.xValues, dampedSinewave.yValues); final FastMountainRenderableSeries mountainRenderableSeries = sciChartBuilder.newMountainSeries().withDataSeries(mountainDS).withAreaFillColor(0x771964FF).withStrokeStyle(0xFF0944CF, 2f, true).withYAxisId("LeftAxisId").build(); final FastLineRenderableSeries lineRenderableSeries = sciChartBuilder.newLineSeries().withDataSeries(lineDS).withStrokeStyle(0xFF279B27, 2f, true).withYAxisId("RightAxisId").build();
private IRenderableSeries changeSeriesType(String param, IRenderableSeries initSeries) { if (getResources().getStringArray(R.array.series_types)[0].equals(param)) { return sciChartBuilder.newLineSeries() .withDataSeries(initSeries.getDataSeries()) .withStrokeStyle(initSeries.getStrokeStyle()) .withResamplingMode(initSeries.getResamplingMode()) .build(); } else if (getResources().getStringArray(R.array.series_types)[1].equals(param)) { return sciChartBuilder.newMountainSeries() .withDataSeries(initSeries.getDataSeries()) .withStrokeStyle(initSeries.getStrokeStyle()) .withResamplingMode(initSeries.getResamplingMode()) .withAreaFillColor(initSeries.getStrokeStyle().getColor()) .build(); } else if (getResources().getStringArray(R.array.series_types)[2].equals(param)) { CrossPointMarker pointMarker = new CrossPointMarker(); pointMarker.setSize(20, 20); pointMarker.setStrokeStyle(initSeries.getStrokeStyle()); return sciChartBuilder.newScatterSeries() .withDataSeries(initSeries.getDataSeries()) .withStrokeStyle(initSeries.getStrokeStyle()) .withResamplingMode(initSeries.getResamplingMode()) .withPointMarker(pointMarker) .build(); } return null; }
@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(); } }); } }
@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(); } }); } }
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); } }); }