SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, and now iOS Charting & Android Chart Components

Welcome to the SciChart Android Charts Community Forums!

Please see our Question asking guidelines before posting. You can also find our Android Charts Documentation in the SciChart Android SDK Zip.
  – Thanks & regards, SciChart Team

1 vote
26 views

I managed to spearate the legend from the SciChartSurface, however the way I did it is very hackish. I couldn’t find any documentation on how it is supposed to be done correctly.

The way I did it (Kotlin code):

val legend = SciChartLegend(context)
legendModifier = LegendModifier(legend)
legendModifier.setOrientation(Orientation.VERTICAL)
legendModifier.setLegendPosition(Gravity.START or Gravity.TOP, 0)
legendModifier.setSourceMode(SourceMode.AllVisibleSeries)
legendModifier.setShowSeriesMarkers(true)
legendModifier.setShowCheckboxes(true)


val modifierGroup = chartBuilder.newModifierGroup().build()
modifierGroup.childModifiers.add(legendModifier)
chartSurface.chartModifiers.add(modifierGroup)

if(legend.parent != null)
{
    (legend.parent as ViewGroup).removeView(legend)
}

val linearLayout = LinearLayout(context)
linearLayout.orientation = LinearLayout.VERTICAL
linearLayout.addView(legend)
linearLayout.addView(chartSurface)

I was surprised that passing the legend to LegendModifier constructor also adds it to it’s layout. So I had to manually remove it and add it to my LinearLayout. It does work, but as I said, it is a hackish way of doing it. My question is, how is it done correctly?

0 votes
40 views

Hi !
Is it possible to display the RollOverModifier tooltip on the real points only ? Say I have points (1 1) and (3 3) in my chart and I don’t wan’t the tooltip to display (1.5 1.5), (2 2), (2.5 2.5) etc. when rolling over… Any idea ?

Thank you,

Adrien

0 votes
58 views

Hi, I would like to ask how can I draw Renko and 3 Line Break Chart using SciChart API ? thanks.

  • Ray Hung asked 3 weeks ago
  • last active 3 weeks ago
0 votes
37 views

Hi,

I’m trying to colorize my Column Chart according to my Candle Chart (red / green).
I’ve tried to create a Palette provider, but I don’t know how to get the corresponding item from my Candle Data.

How can I do this?

0 votes
53 views

When Im trying to remove an annotation, I’m receiving an error:

java.lang.NullPointerException: Attempt to invoke interface method
‘void
com.scichart.charting.visuals.annotations.IAnnotationPlacementStrategy.drawAdorner(android.graphics.Canvas)’
on a null object reference
at
com.scichart.charting.visuals.annotations.AnnotationBase.onDrawAdorner(SourceFile:889)
at
com.scichart.charting.visuals.annotations.AdornerLayer.onDraw(SourceFile:144)
at android.view.View.draw(View.java:17071)
at android.view.View.updateDisplayListIfDirty(View.java:16053)

I’ve tried many ways, like:

UpdateSuspender.using(priceChart, new Runnable() {
    @Override
    public void run() {
        priceChart.getAnnotations().clear();
    }
});

and

UpdateSuspender.using(priceChart, new Runnable() {
    @Override
    public void run() {
        priceChart.getAnnotations().remove(myAnnotation);
    }
});
0 votes
57 views

Hi ,

I am trying to change background color of scichart surface and also need to change color of grid bands and grid lines.

So far I am able change background color of scichart surface using scichartSurface.setBackgroundcolor API

But I am not able to find api can customize/ remove grid bands and grid lines.

Please find images attached for more details.

0 votes
128 views

I see there is a Polar chart type for WPF charts and that one is “coming soon” to Android. Is it known when we can expect it to be available on Android?

Thank you in advance.

0 votes
76 views

Hello, I hope you can help me! please
How could you reach this special design with androidchar.
it’s possible?
Please I need to know if it is feasible, with this I could start to carry out my project.
Thanks in advance.

0 votes
85 views

Hello !

I have a chart displaying very accurate data and I would like the RolloverModifier to adopt the same format as my Y axis.
I want to avoid problems similar to the one on the screenshot attached. The tooltip is indicating -0 and I would like it to display something like -2.5E-6.

Thank you for your help,

Adrien

0 votes
127 views

Is it possible to give an arrow type style to the axes? As seen in the attached image.

It would be perfect!

Otherwise, I would like to know if it is not possible, not to take into account this characteristic in my development.

I hope you can give me a clue please. Thanks in advance.

1 vote
152 views

Is it possible to put a background image on a chart? I hope you can give me a hint thanks in advance.

I attach an image for the purpose of my query.

0 votes
112 views

I hope you can help me, please. Is it possible to remove the lines that protrude on the edge of the graphics, as shown in the image? If so, what would be the procedure?

Thank you very much in advance…

0 votes
121 views

I hope you can help me I have managed to change the font color, size, but I do not know how to put the annotation with underlined font, who could give me a clue please. I would like to get something like what is shown in the image I attached. Thanks in advance.

0 votes
143 views

I was wondering about the possibilities to show markers. I dug a while in the examples and played with default interactions, which use dragging to update the position of the marker.

On mobile devices this conflicts a little with the pan interaction to move the chart. I saw there’s also the possibility to pan using the axes area. There’s also the possibility to just tap on the chart, which doesn’t conflict with other interactions, to show a marker, but I couldn’t find how to do this. At least there doesn’t seem to be built in support for it? How should this be done?

Additionally I would like once a marker appears to either be able to update only by tapping again at other place on the chart (simple solution) or temporarily disabling the panning such that this gesture only moves the marker and not the chart (preferred, but probably less simple solution). So tapping on the chart would enter “marker mode” which disables zooming and panning and some other gesture – e.g. using an external button on the chart, would leave “marker mode” and enter zoom/pan mode again.

Any ideas how to achieve this? Thanks in advance!

P.S. I’m also using a real time chart, though this probably doesn’t make a difference concerning this.

0 votes
138 views

I have to implement a zoomable real time chart. I started with CreateRealTimeTickingStockChartFragment as it seems to be the nearest to what I need. I added .withPinchZoomModifier().build() to the chart modifiers, but it doesn’t work very well, there’s lag and jumps…

I’m testing on a Nexus 5.

I also started adapting the example to what I need need which uses a numeric x axis (it measures seconds, which can appear irregularly, so I assume it’s numeric), but noticing the same problems there.

Using SciChart v1.2.1.1540

From this thread, there seems to have been some related problems in an older version, maybe this hasn’t been fully fixed yet? Or maybe I’m configuring something wrong, started using SciChart today and very new to this.

Thanks in advance and amazing work! I’m very excited about this library and hope this works because otherwise it will be probably a deal breaker for the people I’m working for :/

0 votes
204 views

Dear All,

I would like to ask are there any method to draw a line (or annotation) by user touch event ?

For example user touch the chart to set the starting point of the line and then touch/drag to another point to draw the line.

Thanks.

  • Ray Hung asked 3 months ago
  • last active 3 months ago
0 votes
202 views

Hi,

According to the documentation, in FastCandlestickRenderableSeries

StrokeUp and FillUp styles are applied to bars with Close > Open, and StrokeDown and FillDown to those that have Open <= Close respectively.

I would like to ask is there any method to achieve the following:

The candlestick are green in color when Today Close >= Previous Close and red in color when Today Close < Previous Close

Thanks.

  • Ray Hung asked 3 months ago
  • last active 3 months ago
0 votes
198 views

On VS2017, in LineChartFragment.cs, I am trying to use VerticalSliceModifier, but it is not found.

var verticalSliceModifier = new VerticalSliceModifier();

Thank for your help.

1 vote
204 views

Hi,
I am trying to implement pan and zoom functionalities for real time charts present in Sci chart demo application
Can any one please suggest me on how to implement the same

Thanks in advance

0 votes
207 views

in IOS SDK there are SCIAxisRangeSyncronization and SCIAxisAreaSizeSyncronization for dealing with axis sync. I would like to ask are there any similar classes in Android to do this ? Thanks.

  • Ray Hung asked 3 months ago
  • last active 3 months ago
1 vote
259 views

Hey folks,

I have an Android device (CAT S40) running 5.1 on it. I am encountering an issue when pressing the home button or lock button. It seems that sometimes when the app is in pause or sleep my chart surfaces are destroyed and turn black. I have only seen this problem on this device. The only way to restore them is to restart the app. I researched this issue an found information on OpenGL context getting destroyed on pause. There is a setting in GLSurfaceView called setPreserveEGLContextOnPause. I am not sure if it is possible to access this setting from the SciChartSurface or not.

After seeing this, I tested the SciChart example app to see if the problem was isolated to my app, but it happened in the example app as well.
Again this is the only device I have seen this happen on and I’ve tested multiple devices.

Thanks for your help

1 vote
261 views

Hi all,

I would like to ask how to modify the label of the OHLC Chart in Android.
For example, in the attached screenshot, how to change the label “Highest” to “High” ? Thanks.

  • Ray Hung asked 4 months ago
  • last active 4 months ago
0 votes
250 views

Dear Sir,

Warm Greetings!
Sir, could you give some tips how we can draw circle or ellipse in the SciChart?

Your swift reply will be deeply appreciated.

Thank you and kind regards,

Team Solmitech

0 votes
245 views

How to scale axes with different scale factor using pinch zoom?
For example, scale x axis only or scale x axis greater then y axis.

0 votes
292 views

I want to use the SCI Schart view over the smartphone camera surfaceview layout.
When the SCI Chart view is overlapped on the camera surfaceview, only the camera image is visible.
How can the SCI Chart view look normal on the camera surfaceview?

0 votes
249 views

I have DateAxis as X Axis, so I want to trigger a button to zoom In/Out to a specific time at the latest plotted point (Price).
Example: I have zoom button 30 minutes, 15 minutes, 5 minutes and 2 minutes….

1 vote
273 views

Between these two which one should I use, and what different between these.

0 votes
325 views

do you have offline version of android charts.
my computer is not connected to the internet.
thanks

  • shay hadar asked 7 months ago
  • last active 7 months ago
2 votes
360 views

I am implementing a feature to load more historical data when users pan to the left side on a CategoryDateAxis.
To load more, i need to have 2 Date which is the earliest data point i have and the Date that is shown on the X-Axis

For the earliest data point, i can get via IXyDataSeries#getXMin()
But for the other Date, i’m not sure how to get it. I can listen to range changes via IAxisCore#VisibleRangeChangeListener, but the range returns Double. I cant figure out to convert it into a Date

  • abc def asked 8 months ago
  • last active 8 months ago
0 votes
389 views

Hello,

When do you expect Android Chart 1.3 to be ready for delivery? I really need the logarithmic chart capability.

Thanks,
Mike Reed

0 votes
370 views

Hi all, how i can add annotation on the columns of a chart?

1 vote
475 views

What are the Proguard rules for SciChart?
Does any of the charting/core/data/drawing component uses reflection?

  • abc def asked 10 months ago
  • last active 10 months ago
1 vote
397 views

Hi, i have follow the guide to create a chart but i would insert data every 1 second in a Line chart… i have do it but this is the result.

0 votes
365 views

Is there an convenient way to convert an existing IXyDataSeries<Date, Double> to IOhlcDataSeries<Date, Double> ?
How do Scichart collapse Candlesticks (and presumably merging with neighbouring candlesticks) when its very zoomed out e.g. 1 year period

  • abc def asked 10 months ago
  • last active 10 months ago
0 votes
381 views

How do you place a CustomAnnotation on the axis like an AxisMarkerAnnotation?

  • abc def asked 10 months ago
  • last active 10 months ago
0 votes
395 views

Based on the example in https://www.scichart.com/documentation/android/v1.x/webframe.html#Axis%20Types.html


IAxis axis = new CategoryDateAxis(getActivity());
axis.setAxisAlignment(AxisAlignment.Right);
axis.setAutoRange(AutoRange.Once);
axis.setGrowBy(new DoubleRange(0.1d, 0.1d));
axis.setVisibleRange(new DateRange(dateMin, dateMax));

It will crash at setVisibleRange with

java.lang.UnsupportedOperationException: Expected instance of DoubleRange
at com.scichart.core.utility.Guard.instanceOf(SourceFile:45)
at com.scichart.core.utility.Guard.instanceOfAndNotNull(SourceFile:52)
at com.scichart.charting.visuals.axes.AxisCore.setVisibleRange(SourceFile:241)

What would be the proper way to set a date range?

  • abc def asked 10 months ago
  • last active 10 months ago
0 votes
447 views

I am building a real-time graph with CategoryDate X Axis and Numeric Y Axis. I found it hard to understand the Annotation API’s regarding the X and Y positions.

Q1:
Looking at AnnotationsAreEasyFragment, it draw a Horizontal line of (seemingly) full width. it declares

sciChartBuilder.newHorizontalLineAnnotation()
    .withPosition(7d, 2.8d)
    .withStroke(2, ColorUtil.Orange)
    .build()

i can under Y = 2.8d, but what is the X=7d for? and in the next Horizontal line which is short, it declares .withPosition(5d, 3.2d)?? X=5d and X=7d gives such a big difference.

Q2:
Since i am using CategoryDateAxis, referring to InteractionWithAnnotationsFragment to draw a vertical line at a specific date/time, there is a short line vertical line on 3rd Dec with the code

sciChartBuilder.newVerticalLineAnnotation()
    .withX1(20).withY1(35d).withY2(33d)
    ...

Since its a date axis, i would expect it to accept a Date.class (or long in millis) instead of .withX1(20). It doesnt even make sense! How exactly do i create full height vertical line at a specific date/time?

  • abc def asked 10 months ago
  • last active 10 months ago
0 votes
442 views

Hi !

Does the android version of SciChart feature logartihmic axis scaling ?

1 vote
438 views

I am using the examples app for Android and I am noticing that sometimes in the Line Chart example the background colour changes to black instead of the standard grey colour. Seems to be a random occurrence. I am currently testing on a Nexus 7 running 4.4.2. The problem doesn’t occur on my Nexus 4 running 5.1.1.

Thank you,

Andrew

1 vote
671 views

hello all,

when i import a scichart into android studio layout editor , i got these exception, have you ever seen it ?

java.lang.VerifyError: Expecting a stackmap frame at branch target 111
Exception Details:
  Location:
    com/scichart/charting/visuals/layout/LayoutableViewGroup.onLayout_Original(ZIIII)V @25: if_icmpge
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: 2ab6 004a 3606 1504 1c64 3607 1505 1d64
    0x0000010: 3608 0336 0915 0915 06a2 0056 2a15 09b6
    0x0000020: 004e 3a0a 190a b600 5310 089f 003e 190a
    0x0000030: c100 5599 002b 190a c000 55b9 0059 0100
    0x0000040: 3a0b 190a 190b b400 5e19 0bb4 0061 190b
    0x0000050: b400 6419 0bb4 0067 b600 6ba7 000e 190a
    0x0000060: 0303 1507 1508 b600 6b84 0901 a7ff a9b1
    0x0000070:                                        

    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
    at java.lang.Class.getConstructor0(Class.java:3075)
    at java.lang.Class.getConstructor(Class.java:1825)
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:396)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:172)
    at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:105)
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:186)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:334)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:345)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:245)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$72(RenderTask.java:659)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

(I use the new constraintlayout from android)

0 votes
404 views

Hello all,

I’ve a question about the android chart,

I’ve see WPF include fft plotting support, but I didn’t see it in android ?

can you tell me if the android scichart have it ?

thanks

0 votes
467 views

Hi im getting some errors when I add the scichart modules as dependencies

My project dependencies currently look like…

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:24.2.0'
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:gridlayout-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
apt 'com.jakewharton:butterknife-compiler:8.2.1'
compile 'com.jakewharton:butterknife:8.2.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
compile 'com.squareup.okhttp3:logging-interceptor:3.3.0'
compile 'io.reactivex:rxjava:1.1.8'
compile 'io.reactivex:rxandroid:1.2.1'
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:1.10.19'


compile project (':charting-release')

But when I had the ‘charting release’ module I get

error…
Error:(112) Attribute “orientation” already defined with incompatible format.

specifically relating to…

As im using gridlayout as a dependence in my project, I wondered if there might be some kind of conflict between it and the charting release module.

I’ve tried…
compile project (‘:charting-release’){
exclude module: ‘support-v7’
}

But to no avail.

Thanks
Aidan

  • Aidan Mack asked 12 months ago
  • last active 12 months ago
0 votes
548 views

Hi im trying to create a screen with multiple charts (once candle stick the other bar) that are both dynamically updated every second with a new point.

…Ive done that bit.

But when I pan one chart I want it to update the pan position of the other chart
I’ve used the CreateMultiPaneStockChartsFragment as reference to try and do this.

I’ve tried..

            UpdateSuspender.using(sciChartSurface, new Runnable() {
            @Override
            public void run() {
                Collections.addAll(sciChartSurface.getRenderableSeries(), candlestickSeries);
                sciChartSurface.getChartModifiers().add(builder.newModifierGroupWithDefaultModifiers().build());
                sciChartSurface.getChartModifiers().add(builder.newModifierGroup().withMotionEventsGroup("ModifiersSharedEventsGroup").withReceiveHandledEvents(true)
                        .withXAxisDragModifier().withReceiveHandledEvents(true).withDragMode(AxisDragModifierBase.AxisDragMode.Pan).build()
                        .build());
            }
        });

and then added the surface to the vertical group.
verticalGroup.addSurfaceToGroup(sciChartSurface);

Also while im at it, the documentation doesnt give any explanation for what stuff does.
Some nice tutorials would be nice that actually explain what methods do.

…I dont even know what “updateSuspender” does.

Thanks
Aidan

  • Aidan Mack asked 12 months ago
  • last active 12 months ago
1 vote
484 views

Hi,
I’ve only really just got started with Scichart.
I’ve created a realtime ticking chart using candlesticks.
Its based on the examples.

The problem I have is that if I add 200 points to the graph, the graph is zoomed out so that all 200 points are on screen and visible.
I want to zoom in a bit and position the visible area to the latest points. To the front (right). The user can then scroll left to see previous points.

I’ve tried a couple things like…

        IRange visibleRange = surface.getXAxes().get(0).getVisibleRange();
    visibleRange.setMax(20.09);



    IRange foo = surface.getXAxes().get(0).getMaximumRange();
    visibleRange.setMinMaxDouble(foo.getMaxAsDouble(), foo.getMaxAsDouble());

The set max works, but I cant figure out how to position the view to the latest points (the very right)

Can someone help?

Thanks
Aidan

  • Aidan Mack asked 12 months ago
  • last active 12 months ago
1 vote
521 views

When displaying data in the chart, the data will not start at the beginning/left of the chart, but there is a margin.
How can I set this margin to 0 so the data will be displayed directly after the left yAxis.
The same margin is also at the right of the chart. I also would like a much smaller margin there.

Thanks….

  • EJansen asked 1 year ago
  • last active 1 year ago
0 votes
560 views

I want to display auto format date on xAxis (DateAxis) while zooming but I cannot find SubDayTextFormatting function.Is there any way to display minutes and seconds after init months ?there is no DateTime Axis on Android like on iOS ..Should I change to CategoryDate Axis?

Thanks in advance

1 vote
544 views

I want to change the color of the fill bellow the chart(with blue using line chart,FastMountainRenderableSeries etc) but I have problem with defining the BrushStyle and it wont apply on chart(issue with color define-initPaint).Should I change the function ?or how to change default area color ?

1 vote
616 views

Right now i’m using trial version but i’m looking forward to buy full version as to integrate the charts in my app . I am building an real time chart that update data according to time , which means simply i need Time on the x axis and numeric values on the y axis , but i’m not getting any hint how to get the time values on the x axis .

0 votes
600 views

IS it possible to get data from Json instead of storing values in the App for examples provided?

1 vote
586 views

Purchased the license version of sci android for candle stick chart on xaxis zoom is not working it zooms on y axis help me out to fix this issue.

On xaxis zoom is incorrect with this method newCategoryDateAxis.

final IAxis xAxis = sciChartBuilder.newCategoryDateAxis().build();
final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0d, 0.1d)).build();

With newnumeric axis zoom is working fine as expected

final IAxis xAxis = sciChartBuilder.newNumericAxis().withAxisAlignment(AxisAlignment.Bottom).build();
final IAxis yAxis = sciChartBuilder.newNumericAxis().withGrowBy(new DoubleRange(0d, 0.1d)).build();

Showing 50 results