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

0 votes
0 answers
2 views

Dear all,

For my customer application I have a bunch of measure data point which are displayed in a Line graph.
Customer is willing to have that series representation has Histogram graph.

Does your Histogram graph does the stat calculation internally based on the given series to properly display the column, or does that calculation need to be done as part of the code ?

Thanks

regards

0 votes
0 answers
0 views

Dear all,

I have open the DragHorizontalThreshold sample where I need to display at the bottom a scrollvier content bind to graph series.

For that I have the following xaml sample code :

 <s:SciChartSurface x:Name="**sciChart**"
                       Grid.Column="1"
                       BorderThickness="0"
                       Padding="0"
                       ViewportManager="{Binding ViewportManager,
                                                 Mode=OneWay,
                                                 FallbackValue={StaticResource DefaultViewportManager}}">

        <s:SciChartSurface.RenderableSeries>
            <s:FastColumnRenderableSeries DataPointWidth="1" 
                                          **DataSeries="{Binding ColumnDataSeries}"**
                                          PaletteProvider="{Binding ThresholdPaletteProvider}" />
        </s:SciChartSurface.RenderableSeries>

        <s:SciChartSurface.XAxis>
            <s:NumericAxis AxisAlignment="{Binding ElementName=cboXAxisAlignment,
                                                   Path=SelectedItem}"
                           x:Name="XAxis"
                           DrawMajorBands="True"
                           VisibleRange="0.0, 10.0" />
        </s:SciChartSurface.XAxis>

        <s:SciChartSurface.YAxis>
            <s:NumericAxis AxisAlignment="{Binding ElementName=cboYAxisAlignment,
                                                   Path=SelectedItem}"
                           DrawMajorBands="True"
                           VisibleRange="-1.0, 1.0" />
        </s:SciChartSurface.YAxis>

        <s:SciChartSurface.Annotations>
            <s:HorizontalLineAnnotation HorizontalAlignment="Stretch"
                                        FontSize="13"
                                        FontWeight="Bold"
                                        Foreground="White"
                                        IsEditable="True"
                                        LabelPlacement="Axis"
                                        LabelTextFormatting="0.00"
                                        ShowLabel="True"
                                        Stroke="#FF42b649"
                                        StrokeThickness="2"
                                        Y1="{Binding Threshold,
                                                     Mode=TwoWay,
                                                     FallbackValue=0.5}" />
        </s:SciChartSurface.Annotations>

        <s:SciChartSurface.ChartModifier>
            <s:LegendModifier Margin="10"
                              LegendTemplate="{StaticResource LegendTemplate}"
                              ShowLegend="True" />
        </s:SciChartSurface.ChartModifier>
    </s:SciChartSurface>
    <!--  Define the SciChartSurface behind the scrollbar  -->
    <s:SciChartSurface x:Name="**OverviewSurface**" Grid.Column="0" Loaded="OnOverviewSurfaceLoaded" RenderableSeries="{ s:SeriesBinding ColumnDataSeries}">

        <s:SciChartSurface.XAxis>
            <s:NumericAxis DrawMajorGridLines="False" DrawMinorGridLines="False" Visibility="Collapsed"/>
        </s:SciChartSurface.XAxis>

        <s:SciChartSurface.YAxis>

            <s:NumericAxis DrawMajorGridLines="False" DrawMinorGridLines="False" Visibility="Collapsed"/>
        </s:SciChartSurface.YAxis>

    </s:SciChartSurface>

    <s:SciChartScrollbar Grid.Column="1" Height="100" Margin="{Binding ElementName=sciChart, Path=Padding, Mode=OneWay}" Axis="{Binding ElementName=XAxis}"/>

My main chart which is called sciChart, is using s:FastColumnRenderableSeries which is bind to ColumnDataSeries.
Then I have an other chart named OverviewSurface, which used to display the overview of main graph.

The problem I have have is to find out the correct binding syntax to bind it to my main chart ColumnDataSeries.

If I use the syntax RenderableSeries=”{ s:SeriesBinding ColumnDataSeries}”, as in my exemple I get an exception on the binding.

How the binding should be define here ?

Thanks for help

regards

0 votes
0 answers
2 views

Dear all,

In my customer application, I need to get all text visible on the graph or button to be displayed based on customer language.
Is this possible for nay text or is there some text which are hard coded in a way ?

Regards

0 votes
19 views

We are getting a NullReferenceException at OnRenderSurfaceBaseLoaded(Object sender, RoutedEventArgs e) in Direct3D10RenderSurface.

On calling:

if (Direct3D10CompatibilityHelper.SupportsDirectX10)
        {
            // quickest one and optically on par with high quality or xaml rendering
            return new Direct3D10RenderSurface();
        }

System:
Windows 8: Version 6.2.9200.0
CLR version: 4.0.30319.42000

see Stacktrace:


Stack trace

System.NullReferenceException: Object reference not set to an instance of an object.
----------------------------------------------------------------------
at SciChart.Drawing.DirectX.Context.D3D10.Direct3D10RenderSurface.OnRenderSurfaceBaseLoaded(Object sender, RoutedEventArgs e): 
----------------------------------------------------------------------
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised): 
----------------------------------------------------------------------
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args): 
----------------------------------------------------------------------
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent): 
----------------------------------------------------------------------
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root): 
----------------------------------------------------------------------
at MS.Internal.LoadedOrUnloadedOperation.DoWork(): 
----------------------------------------------------------------------
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks(): 
----------------------------------------------------------------------
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks(): 
----------------------------------------------------------------------
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget): 
----------------------------------------------------------------------
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget): 
----------------------------------------------------------------------
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs): 
----------------------------------------------------------------------
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler): 

Any help?

  • joerg asked 19 hours ago
  • last active 13 hours ago
0 votes
18 views

Dear all
When the binding data is changed in real time to the ColumnRenderableSeries, the pointer size of the corresponding series is changed to an arbitrary size.
ColumnRenderableSeries wants to know if it can fix the size when the x and z axes are changed in real time.
Or, I want to know if there is a function that can calculate the position of xyz in 3D chart and adjust the height of the corresponding pointer.

Thank you for your reply.

  • Lee JunHee asked 22 hours ago
  • last active 2 hours ago
0 votes
20 views

Dear all,

I was wondering what is the chart recommand use for optimal performance on the following scenario :

  • What is the max number of point a chart can accept in a sceries of data ( my customer have nearly 10000 points to be display)
  • what is the max number of chart instance that can be visible at same time ? ( for instance user would like to see more that one chart on one screen

Thanks for those information

regards

  • sc sc asked 2 days ago
  • last active 14 hours ago
0 votes
11 views

Dear all,

I am actually learning your chart control and I have seen that you have a ready made chart tool bar control that is place on your sample in left side of the graph demo.

Based on that tool bar I have few question :

1 – Does the small button on the tool bar chart control can be styled differently ?
– having rectangle button
– change button icon
– change button bacground color
– ….

Regards

  • sc sc asked 2 days ago
  • last active 14 hours ago
0 votes
19 views

Dear all,

What the following GrowBy is actually doing on the YAxis as define below and what is the unit of 0.1 ?

<s:SciChartSurface.YAxis>
            <s:NumericAxis GrowBy="0.1, 0.1" />
        </s:SciChartSurface.YAxis>

thanks for clarification
regards

  • sc sc asked 5 days ago
  • last active 14 hours ago
0 votes
18 views

Dear all,

I am checking in chart demo sample how to use mvvm to bind the chart to a datasource for the series.

I have seen in the constructor of the viewmodel that an instance of ViewportMnager is created as below :

ViewportManager = new DefaultViewportManager();

Then it is used in the folloying methods :

    // Called when the AppendDataCommand is invoked via button click on the view
    private void AppendData()
    {
        var newData = _dataSource.GetRandomWalkSeries(50);

        _dataSeries0.Append(newData.XData, newData.YData);
        ViewportManager.ZoomExtents();
    }

Could you pleas explain what this viewport is doing and what will happen if ZoomExtends() is not called here ?

  • sc sc asked 5 days ago
  • last active 14 hours ago
0 votes
18 views

Dear all,

in many sample I have explore min the chart there is the following line below :


<s:SciChartSurface.ChartModifier>

…….

I do not understand correctly what ChartModifiers does and when we need to implement it.

could you pleas clarify ?

regards

  • sc sc asked 5 days ago
  • last active 5 days ago
0 votes
22 views

Dear all,

if you look at the attached picture from your samples, we can see that the Y axis values a from 6 to – 6.

My customer feature request is asking to provide 2 text box field on the chart menu button to control the Min an max value .

For exemple if the user define as Max value of 4 and Min value of – 4, then when the user validate those entry :

Q1 : How to scale the Max and Min of the graph to those define value automatically ?

Q2 : Where and how to place those Min and max field in the chart button control ?

(see attached pictures)

  • sc sc asked 5 days ago
  • last active 5 days ago
0 votes
21 views

Dear all,

I am actually evaluation the chart control for my customer project and for that I start from the begiining by running all sample first to see how it looks like.

The first thing I have notice is that when you zoom an area on the basic graph for instance, the zooming factor is too deep and when you want to get back in zooming out a lilttle bit then you cannot unless you click on the reset zoom button.

I need to go to the essential of grid function based on my customer project because I do not have a lot of time to setup a simple POC.

Q1 : How to define the default zoom in factor ?

Q2 : when user zoom in inside an area, how to perform different step zoom out ?

regards

  • sc sc asked 5 days ago
  • last active 5 days ago
0 votes
25 views

Are you able to plot slices in X and Y direction in the new V5 3D waterfall plot? Just like what you can do in the example waterfall plot in 2D.

0 votes
19 views

Dear all,

I am evaluating the graph control and I need to cover a request for my customer project.

The thing is that my customer have a bunch of data which gets display as scatter graph view.

The idea is that if the user is placing the mouse over a point, I need to display the current point value (x,y) as an information.
Then in an other hand, if the user click on the point, I need to open a text box and enter a description for that point. The comment and point link will be store in a database to be able to recall.

How cqn I do the 2 operations of displaying values on mouse over and poo up a text box for comment on point ckick ?

Thanks for your help on this

regards

  • sc sc asked 6 days ago
  • last active 5 days ago
0 votes
19 views

Dear all,

I try to study your tool from trial version sample . Frist simple graph I look at is Band Series chart and when checking it I get some missunderstanding hope you can light up my brain.

First of all it has a on left a button call Toggle Zoom Pan button with direction list. what ever I select in this list I do not see what is the effect on this actually on the zoom, can you explain how can I see the effect ?

Second wierd question I have is that is use a yyDataSeries where we need to provide 1 X and 2 Y, what does it means exactly?
Does it means that the data source have same x values but 2 y ?

What if the source of data have 2 different x and y values ?

Thanks to clarify

regards

  • sc sc asked 6 days ago
  • last active 5 days ago
0 votes
20 views

Dear all,

I just try to evaluate your tool for a customer project which will start soon and need to see if SciChart is allowing customer request.

One of the request is as below :

The idea is to offer the user of our app to see a list of graph that can be used.
From this list of graph the user can select a default graph to see his data
Then an other possibility is that starting from a default graph template, user could change parameter setting of the selected graph and save it to a new custom graph name he can reuse afterwards.

Is this something possible ?
If yes how to save that new graph settings and recall it ?

Thanks for your help and advise on this

regards

  • sc sc asked 6 days ago
  • last active 5 days ago
0 votes
31 views

Could I have a date please.

is it possible for the December or more likely for January?
robert

0 votes
31 views

When setting yAxis to have auto range enabled or when manually calling chartSurface.zoomExtents() after adding new data to chart, the top point are cropped (not shown in the chart). I have attached an image that shows this phenomenon (note: bottom part of the chart is cropped out of the image).

Below is full code of an Activity that reproduces the problem. I also updated the attached image that shows the result of the following code. As you can see both red points with y value of 1.1f are cropped out of the chart.

class MainActivity : AppCompatActivity()
{
    private val chartBuilder by lazy { SciChartBuilder.instance() }
    private val chartSurface by lazy { createChartSurface() }

    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)

        SciChartBuilder.init(this)
        setContentView(R.layout.activity_main)

        val background = findViewById<ViewGroup>(R.id.background)
        background.addView(chartSurface)

        addPoints()
    }

    private fun createChartSurface(): SciChartSurface
    {
        val surface = SciChartSurface(this)

        val xAxis = chartBuilder.newNumericAxis()
            .withAxisTitle("X Axis title")
            .withVisibleRange(0.0, 1.0)
            .withAutoRangeMode(AutoRange.Always)
            .build()

        val yAxis = chartBuilder.newNumericAxis()
            .withAxisTitle("Y Axis title")
            .withVisibleRange(0.0, 1.0)
            .withAutoRangeMode(AutoRange.Always)
            .build()

        Collections.addAll(surface.xAxes, xAxis)
        Collections.addAll(surface.yAxes, yAxis)

        surface.renderableSeries.add(createSeries(Color.RED))
        surface.renderableSeries.add(createSeries(Color.BLUE))

        return surface
    }

    private fun createSeries(color: Int): FastLineRenderableSeries
    {
        val lineData = chartBuilder.newXyDataSeries(Long::class.javaObjectType, Float::class.javaObjectType)
            .withSeriesName("series")
            .build()

        return chartBuilder.newLineSeries()
            .withDataSeries(lineData)
            .withIsVisible(true)
            .withStrokeStyle(color, 2f, true)
            .build()
    }

    private fun addPoints()
    {
        val xValues = LongValues(longArrayOf(0, 1, 2, 3, 4, 5))

        @Suppress("UNCHECKED_CAST")
        var lineData = chartSurface.renderableSeries[0].dataSeries as XyDataSeries<Long, Float>
        lineData.append(xValues, FloatValues(floatArrayOf(0.9f, 1f, 1.1f, 0.9f, 1.1f, 1f)))

        @Suppress("UNCHECKED_CAST")
        lineData = chartSurface.renderableSeries[1].dataSeries as XyDataSeries<Long, Float>
        lineData.append(xValues, FloatValues(floatArrayOf(0f, 0f, 0f, 0f, 0f, 0f)))
    }
}
0 votes
32 views

Hi

I was trying to bind DoubleRange type property to the VisibleRange property of LogarimethicNumericAxis.
Since DoubleRange is not a primitive type, OnPropertyChanged command didn’t work in c#.
Is there any way to reslove this problem?
My code is as below.

in View

<sci:SciChartSurface.XAxis>
    <sci:LogarithmicNumericAxis AutoRange="Never"    
        DrawMajorGridLines="False" 
        DrawMinorGridLines="False" 
        DrawMajorBands="False"
        Visibility="Visible"
        VisibleRange="{Binding Path=AxisVisibleRange,Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
    </sci:LogarithmicNumericAxis>
</sci:SciChartSurface.XAxis>

in View model

public DoubleRange AxisVisibleRange
{
    get
    {

        DoubleRange dr = new DoubleRange(0.1,100);
        return dr;

    }
}        
0 votes
42 views

https://www.scichart.com/documentation/ios/v2.x/Tutorial%2002%20-%20Creating%20a%20SciChartSurface.html

Can someone please point me to where I can complete this tutorial.

Why end this tutorial like this??

// That’s it! The SCIChartSurface will now display on the screen with default axis ranges

As is, it simply displays the x and y values. Nothing else.

How can I add my x and y values so that I can display my graph

0 votes
52 views

Hello,

I am currently evaluating SciChart Android and have some questions:

1)
I am using fragments and when I load the fragment with the chart or replace the chart with another fragment, the view flashes black for a moment. This effect is considerable noticeable because I am using a white background for the chart.
VIDEO EXAMPLE

2)
My application domain is like kind of a stock chart. The Y-Values are Doubles while the X-Values are timestamps.
There are small gaps in the data so the distance from each point to the next one is not always the same.
The example dataset consists of 152 datapoints, starts at November 18, 17:00 and end at November 25, 16:00 with distances which are either 1 hour or 2 hours apart.
When zooming and dragging the graph, some labels for the date seem to appear and disappear at random which is really distracting.
VIDEO EXAMPLE

3)
When the user keeps zooming in, the labels should get more detailed.
It is kinda pointless when all the labels are showing the same day. How can I set it, that when the first visible point and the last visible point are only 2 days apart, that the format on the label is HH:MM and not the day and month?

Also, how can I set the maximum zoom? I got it working with the CategoryDateAxis but with the DateAxis it is different and I don’t know how to use the visibibleRangeLimit as the documentation for timeseries charts is rather lacking in this regard.

Our company is considering buying the chart for Android & iOS but those first two problems are king of a deal breaker for us.
Thank you.

My simple style code:

    <style name="CustomSciChart" parent="SciChart_BaseStyle">
    <item name="sciChartBackground">@android:color/white</item>
    <item name="majorGridLinesColor">@color/midLightGray</item>
    <item name="minorGridLinesColor">@color/midLightGray</item>

My chart code:

    final SciChartBuilder sciChartBuilder = SciChartBuilder.instance();
    surface.setTheme(R.style.CustomSciChart);
    XyDataSeries<Date, Double> lineData = sciChartBuilder.newXyDataSeries(Date.class, Double.class).build();
    final DateAxis xAxis = sciChartBuilder.newDateAxis()
            .withDrawMinorGridLines(false)
            .withDrawMinorTicks(false)
            .withAutoRangeMode(AutoRange.Once)
            .build();

    final IAxis yAxis = sciChartBuilder.newNumericAxis()
            .withAxisAlignment(AxisAlignment.Left)
            .withDrawMinorGridLines(false)
            .withDrawMinorTicks(false)
            .withGrowBy(0.2d, 0.2d)
            .build();

    final IRenderableSeries lineSeries = sciChartBuilder.newLineSeries()
            .withDataSeries(lineData)
            .withStrokeStyle(ContextCompat.getColor(getActivity(), R.color.colorPrimary), 2f, true)
            .build();


    PinchZoomModifier pinchZoomModifier = new PinchZoomModifier();
    pinchZoomModifier.setScaleFactor(1.5f);
    pinchZoomModifier.setDirection(Direction2D.XDirection);
    surface.getChartModifiers().add(pinchZoomModifier);

    ZoomPanModifier zoomPanModifier = new ZoomPanModifier();
    zoomPanModifier.setClipModeX(ClipMode.ClipAtExtents);
    zoomPanModifier.setDirection(Direction2D.XDirection);
    zoomPanModifier.setZoomExtentsY(false);
    surface.getChartModifiers().add(zoomPanModifier);


    surface.getRenderableSeries().add(lineSeries);
    Collections.addAll(surface.getYAxes(), yAxis);
    Collections.addAll(surface.getXAxes(), xAxis);

Fragment replacement:

         FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
        fragmentTransaction.replace(R.id.content, fragment, tag);
        fragmentTransaction.commit();
0 votes
46 views

I am trying to use SciChart library for my project and find out whether it satisfy all requirements.

I am currently trying to display the ECG signal. Therefore the data is coming in realtime.

I have the following configuration

 final NumericAxis xAxis = mSciChartBuilder
                .newNumericAxis()
                .withAxisTitle("Time (seconds)")
                .withDrawLabels(false)
                .withDrawMajorTicks(false)
                .withDrawMinorTicks(false)
                .withDrawMajorBands(false)
                .withDrawMajorGridLines(false)
                .withDrawMinorGridLines(false)
               // .withVisibleRange(0, 2040)
                .withAutoRangeMode(AutoRange.Always)
                //.withAutoRangeMode(AutoRange.Never)
                .build();
        final NumericAxis yAxis = mSciChartBuilder
                .newNumericAxis()
                .withAxisTitle("Voltage (mV)")
                //    .withGrowBy(0.1d, 0.1d)
                .withDrawLabels(false)
                .withDrawMajorTicks(false)
                .withDrawMinorTicks(false)
                .withDrawMajorBands(false)
                .withDrawMajorGridLines(false)
                .withDrawMinorGridLines(false)
                .withVisibleRange(Short.MIN_VALUE, Short.MAX_VALUE)
                .build();

It works but the X axis a little bit scaled/compress.

Here is the result

enter image description here

I need to make it a bit wider.

How can I do this ?

I have tried to set range manually like that

.withVisibleRange(0, 2040)

However in this case it doesn’t show anything.

I would be grateful for any help.

UPDATE

https://drive.google.com/file/d/17p1E-Z_YxiVh_JtwEvlM1PaTVyJ7eyz7/view

0 votes
48 views

As the title asks, is Unity 3D on the radar?

0 votes
43 views

Hi,

I cannot remove a shadow effect from AxisLabelControl (see attached image).

This is the style I am using:

<Style x:Key="CursorModAxisLabelStyle" TargetType="s:AxisLabelControl">
            <Setter Property="Background" Value="#FF202020" />
            <Setter Property="BorderBrush" Value="#FF8A8A8A" />
            <Setter Property="BorderThickness" Value="1" />
            <Setter Property="Opacity" Value="1.0"/>
            <Setter Property="Effect" Value="{x:Null}"/>
</Style>

and this line is added to both NumericalAxis:

 s:CursorModifier.AxisLabelTemplate="{StaticResource CursorModAxisLabelTemplate}"

I am fine with shadow effects on other components, but a shadow on that particular label is annoying and seems unnecessary.

Any help would be appreciated!

Thanks

0 votes
52 views

I am using StackedColumnRenderableSeries and I have a problem when a data is displayed as it shows the incomplete graph as the second attached image.
Thank you

var xAxis = new DateAxis(this)
{
GrowBy = new DoubleRange(0.1, 0.1),
AxisTitle = “”,
AutoRange = AutoRange.Always,
TextFormatting = “MMM yyyy”,
DrawMajorGridLines = false,
DrawMinorGridLines = false,
AxisBandsStyle = new SolidBrushStyle(0xfff9f9f9),
};

0 votes
36 views

I use the surface.exportToBitmap () to get the picture, but the AxisMarker doesn’t match the actual display, and there’s no sharp arrow. How to solve?

0 votes
38 views

I want to draw one of the first picture, but FastLineRenderableSeriesBuilder found no fill color Settings, do you have other solution?

0 votes
51 views

I want to use code to intercept a picture, but find that the image is empty

    surface.buildDrawingCache();
    Bitmap src = surface.getDrawingCache();//save screenshot
    ((ImageView)findViewById(R.id.iv)).setImageBitmap(src);

how can I get the image of suface。

0 votes
30 views

When I insert a series of data, the hollow K diagram shows the error, and a line is displayed in the middle

ohlcSeries.insertRange(0,date,open,high,low,close);

My Settings are as follows:

candlestickSeries = sciChartBuilder.newCandlestickSeries()
            .withStrokeUp(UP_COLOR)
            .withStrokeDown(DOWN_COLOR)
            .withDataSeries(ohlcSeries)
            .withFillDownColor(0xFFFFFFFF)
            .withFillUpColor(UP_COLOR)
            .build();

How can I solve this problem?Please see the attachment for details。

0 votes
47 views

When I insert a series of data (more than 100 data)into the graph, the application crashes
Source code is as follows

    ma5Series.insertRange(0,date,ma5Y);
    ma10Series.insertRange(0,date,ma10Y);
    ma20Series.insertRange(0,date,ma20Y);
    macdSlowSeries.insertRange(0,date,macdFast,macdSlow);
    macdSignalSeries.insertRange(0,date,macdSignal);

The error is as follows

java.lang.UnsupportedOperationException: Data has been changed to a DataSeries which is unsorted in the X-Direction. Unsorted data can have severe performance implications in SciChart.

For maximum performance, please double-check that you are only inserting sorted data to SciChart. Alternatively, to disable this warning and allow unsorted data, please call dataSeries.setAcceptsUnsortedData(true).

I set up “dataSeries.setAcceptsUnsortedData (true)”, but still reported wrong.
how to solve it?

0 votes
52 views

How to position the legend in the botton of chart and make 2 column foreach tag?

0 votes
0 answers
57 views

Hi,

I have two question on iOS Chart.

1.How can I customize the display value for tooltip generated by SCICursorModifier? I would like to set the following:

15/06/2017
O: 99.35
H: 99.35
L: 98.30
C: 98.75

The text color of OHLC value should be set according to prev. close value.

2.The function setVisibleRange is working for SCIDateTimeAxis but not SCICategoryDateTimeAxis
Here is the initialization of the axis:

id axis = [[SCICategoryDateTimeAxis alloc] init];
axis.axisId = @”X1″;
[axis setAutoRange:SCIAutoRange_Never];
[axis setVisibleRangeLimitMode:SCIRangeClipMode_MinMax];
[surface.yAxes add:axis];

Set the visible range after receiving the data

SCICategoryDateTimeAxis *xAxis = (SCICategoryDateTimeAxis *)[[surface xAxes] getAxisById:@”X1″];
[xAxis setVisibleRange:[[SCIDateRange alloc] initWithDateMin: Max:]];`

I tried to replace the axis type from SCICategoryDateTimeAxis to SCIDateTimeAxis, it works well. Any idea about this?

0 votes
58 views

When setting yAxis to have auto range enabled or when manually calling chartSurface.zoomExtents() after adding new data to chart, the top point are cropped (not shown in the chart). I have attached an image that shows this phenomenon (note: bottom part of the chart is cropped out of the image).

Below is full code of an Activity that reproduces the problem. I also updated the attached image that shows the result of the following code. As you can see both red points with y value of 1.1f are cropped out of the chart.

class MainActivity : AppCompatActivity()
{
    private val chartBuilder by lazy { SciChartBuilder.instance() }
    private val chartSurface by lazy { createChartSurface() }

    override fun onCreate(savedInstanceState: Bundle?)
    {
        super.onCreate(savedInstanceState)

        SciChartBuilder.init(this)
        setContentView(R.layout.activity_main)

        val background = findViewById<ViewGroup>(R.id.background)
        background.addView(chartSurface)

        addPoints()
    }

    private fun createChartSurface(): SciChartSurface
    {
        val surface = SciChartSurface(this)

        val xAxis = chartBuilder.newNumericAxis()
            .withAxisTitle("X Axis title")
            .withVisibleRange(0.0, 1.0)
            .withAutoRangeMode(AutoRange.Always)
            .build()

        val yAxis = chartBuilder.newNumericAxis()
            .withAxisTitle("Y Axis title")
            .withVisibleRange(0.0, 1.0)
            .withAutoRangeMode(AutoRange.Always)
            .build()

        Collections.addAll(surface.xAxes, xAxis)
        Collections.addAll(surface.yAxes, yAxis)

        surface.renderableSeries.add(createSeries(Color.RED))
        surface.renderableSeries.add(createSeries(Color.BLUE))

        return surface
    }

    private fun createSeries(color: Int): FastLineRenderableSeries
    {
        val lineData = chartBuilder.newXyDataSeries(Long::class.javaObjectType, Float::class.javaObjectType)
            .withSeriesName("series")
            .build()

        return chartBuilder.newLineSeries()
            .withDataSeries(lineData)
            .withIsVisible(true)
            .withStrokeStyle(color, 2f, true)
            .build()
    }

    private fun addPoints()
    {
        val xValues = LongValues(longArrayOf(0, 1, 2, 3, 4, 5))

        @Suppress("UNCHECKED_CAST")
        var lineData = chartSurface.renderableSeries[0].dataSeries as XyDataSeries<Long, Float>
        lineData.append(xValues, FloatValues(floatArrayOf(0.9f, 1f, 1.1f, 0.9f, 1.1f, 1f)))

        @Suppress("UNCHECKED_CAST")
        lineData = chartSurface.renderableSeries[1].dataSeries as XyDataSeries<Long, Float>
        lineData.append(xValues, FloatValues(floatArrayOf(0f, 0f, 0f, 0f, 0f, 0f)))
    }
}
0 votes
0 answers
51 views

We are using the candlestick chart, and scrolling off the ends of the plotted data behaves very strangely:
– If I scroll slowly, the chart expands, anchored to the end of the data set (this is expected)
– If I scroll quickly, it lets me scroll beyond the end of the data set
– Once I have scrolled of the end of the data set, touching the screen again jumps back to the data set
– If I scroll slowly so the chart is expanding, and then release touch, the chart continues to move with inertia. If I clock again it jumpos back to expanding mode.

The combination of all these behaviours makes a very confusing and unsatisfying user experience.

Is there a way to change the behaviour? I had a look at https://www.scichart.com/documentation/ios/v2.x/api/dir_2dcc4ec269b335aa862d36c6f6e3093f.html but can’t find anything that might.

We have set:
xAxis is a SCIDateTimeAxis
xAxis.VisibleRange to desired range
xAxis.VisibleRangeLimit = range.Clone() where range is desired range
xAxis.VisibleRangeLimitMode = SCIRangeClipMode.inMax (I guess it should be called minMax but something broke in the build?)
xAxis.AutoRange = SCIAutoRange.Never

with chart modifiers:
– new SCIZoomPanModifier()
– new SCIZoomExtentsModifier()
– new SCIPinchZoomModifier()

Thanks,

Dan

0 votes
69 views

I’ve had great success showing pixel values of a 2D image using the UniformDataSeries3D type. What I’d like to do now is display a subset of the pixel values in an image using a rectangular region of interest. However, it seems that the axes always start from 0. If I want to have the axes to not begin at value 0, will I have to calculate points for the whole image and zoom in? Or is there a way to set what the starting value of the axes are (while still indexing the values at index 0)

0 votes
57 views

Hello,
I want to display a chart using a DateAxis as X-Axis. The data set contains values for each basic unit of chosen time base, e.g. for a time base of one month, I get 31 data points, with one value assigned for each day. I want the chart to display a label for each value assigned, but using automatic settings I get the following output:
enter image description here

I wanted to manipulate the ticks by setting the MajorDelta and MinorDelta properties, but it expects a value of type Date, and I’m not sure which value I should provide to get a timespan of 1 day, 1 hour etc.
I set EnableLabelCulling to false, but somehow it doesn’t seem to take any effect.

  • Anna Lazar asked 1 month ago
  • last active 4 weeks ago
0 votes
64 views

I have a dev box. This box had a full trial, which was later upgraded to a full (SC-WPF-2D-PRO) license. I can develop our software in debug mode fine. When I install our software from the build server I see “The Direct 3D Renderer TRIAL has EXPIRED”. This is software built in release mode on our build server which is fully licensed. If I run on a non Dev box it is fine.

This seems odd to me. I’d like to test our installed software on my PC, but can’t. Would this happen if I installed a 3rd party product that uses SciChart on a machine with a developer license.

Why is this happening?

  • Max Palmer asked 1 month ago
  • last active 1 month ago
0 votes
63 views

I crashed when I was quick to show and hide the content of the chart。

The source code is similar to the following:

public void show(){
if(!surface.getRenderableSeries().contains(lineUpSeries)) {
Collections.addAll(surface.getRenderableSeries(), lineUpSeries);
Collections.addAll(surface.getRenderableSeries(), lineDownSeries);
Collections.addAll(surface.getRenderableSeries(), line20Series);
Collections.addAll(surface.getAnnotations(), upTextMarker);
Collections.addAll(surface.getAnnotations(), downTextMarker);
Collections.addAll(surface.getAnnotations(), ma20TextMarker);
Collections.addAll(surface.getAnnotations(), upAxisMarker);
Collections.addAll(surface.getAnnotations(), downAxisMarker);
Collections.addAll(surface.getAnnotations(), ma20AxisMarker);
}
}
public void hide(){
if(surface.getRenderableSeries().contains(lineUpSeries)) {
surface.getRenderableSeries().remove(lineUpSeries);
surface.getRenderableSeries().remove(lineDownSeries);
surface.getRenderableSeries().remove(line20Series);
surface.getAnnotations().remove(upTextMarker);
surface.getAnnotations().remove(downTextMarker);
surface.getAnnotations().remove(ma20TextMarker);
surface.getAnnotations().remove(upAxisMarker);
surface.getAnnotations().remove(downAxisMarker);
surface.getAnnotations().remove(ma20AxisMarker);
}
}

error log:

java.lang.NullPointerException: Attempt to invoke interface method ‘boolean com.scichart.charting.visuals.annotations.IAnnotationPlacementStrategy.isInBounds(com.scichart.charting.visuals.annotations.AnnotationCoordinates, com.scichart.charting.visuals.annotations.IAnnotationSurface)’ on a null object reference
at com.scichart.charting.visuals.annotations.AnnotationBase.a(SourceFile:1207)
at com.scichart.charting.visuals.annotations.AnnotationBase.update(SourceFile:1105)
at com.scichart.charting.visuals.annotations.AxisMarkerAnnotation.update(SourceFile:246)
at com.scichart.charting.visuals.annotations.AnnotationBase.update(SourceFile:1083)
at com.scichart.charting.visuals.rendering.RenderSurfaceRenderer.a(SourceFile:327)
at com.scichart.charting.visuals.rendering.RenderSurfaceRenderer.a(SourceFile:218)
at com.scichart.charting.visuals.rendering.RenderSurfaceRenderer.a(SourceFile:132)
at com.scichart.charting.visuals.rendering.RenderSurfaceRenderer.onDraw(SourceFile:123)
at com.scichart.drawing.opengl.RenderSurfaceGL$a.onDraw(SourceFile:228)
at com.scichart.drawing.opengl.MyGLRenderer.b(SourceFile:293)
at com.scichart.drawing.opengl.MyGLRenderer.onDrawFrame(SourceFile:277)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1548)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1259)

0 votes
61 views

The online Quick Start Guide includes the code :

PenStyle penStyle = new PenStyle(ColorUtil.Green, true, 2f);

This needs to be updated as PenStyle is now abstract.

Presumably it should now be:

PenStyle penStyle = new SolidPenStyle(ColorUtil.Green, true, 2f, null);

or similar.

0 votes
64 views

I set the theme is: SciChart_Bright_Spark, but in Android 4.4 mobile phone, chart often display the grid interval display black box, how to solve?

0 votes
66 views

Is it possible to draw a line chart over a heatmap chart?
I tried modifying one of the demos but the line chart draws a solid background over the heatmap?

0 votes
69 views

Hi!
I am going through the showcase example for the spectrogram and I had a confusion on the sizeX and Y parameter of SCIUniformHeatmapDataSeries. Are these sizes as per the width and height of the surfaceChart ? I am going to plot an array of data. How do I determine the correct sizes for X and Y.
Moreover, is it necessary that the size array used for updating the dataSeries has to be (xSize*ySize)?

0 votes
74 views

Very simply, I am attempting to get the Examples to compile and upload to my Android phone. The first download had the examples, but not including Showcases. That version I successfully compiled and ran on an Android phone. Very happy with the professional look and feel.

Since then, I re-downloaded the examples including Showcase and gone through so many upgrades of Android Studio and Gradle and various supporting libraries (as prompted) I’ve lost track.

However, now I cannot compile. Please tell me what dependency is broken of config needs to be changed. Someone else must have been through this.

Thank you for your help.
Ed

Error message:
Gradle sync failed: Could not find core.aar (com.scichart.library:core:2.0.1.1962).
Searched in the following locations:
https://www.myget.org/F/abtsoftware/maven/com/scichart/library/core/2.0.1.1962/core-2.0.1.1962.aar
Consult IDE log for more details (Help | Show Log) (9s 483ms)

I’ve also gone through and set Compile SDK Version to API 25, build tools version to 27. Then I get an error
Gradle sync failed: Could not find method android() for arguments [build_dpm8geo0q8d311u3f6njnup18$_run_closure10@1d7e526a] on root project ‘Examples’ of type org.gradle.api.Project.

Configuration:
MacOS 10.12.6, Android Studio 3.0 (updated from 2.3.x), JDK 1.8

0 votes
71 views

Hi, from the attached screenshot, we can see that the axis marker is somehow overlapped the chart content. I would like to ask how to resize the annotation so that we can fix this issue? thanks.

  • Ray Hung asked 1 month ago
  • last active 1 month ago
0 votes
68 views

I’m attempting to integrate some of the tutorial swift code into my app and I’m getting stuck on this error. Seems like some macro isn’t running.

“Use of unresolved identifier ‘SCIGeneric'”

Code is like this: lineDataSeries.appendX(SCIGeneric(i), y: SCIGeneric(sin(Double(i))*0.01))

I’ve done “import SciChart” and most things seem to work fine except this. Any ideas? Thanks

0 votes
74 views

Hello,
is it possible to modify the corner radius of tooltips in SciChart Android?

  • Anna Lazar asked 1 month ago
  • last active 1 month ago
0 votes
105 views

Hi,
I’m trying to integrate into a large scale solution where SciChart needs to be installed into a new csproj type of project system.

While I was able to make WPF + SciChart kind of compile by following this:
https://github.com/Microsoft/msbuild/issues/1688

And more specifically this:
https://stackoverflow.com/questions/43693591/how-to-migrate-wpf-projects-to-the-new-vs2017-format

I cannot get it to properly use SciChart.DirectX package because SciChart uses very old SharpDX nugets (2.6.3).

The newer SharpDX nugets (4.0.1) do support new csproj / nuget 3.x properly, but since SciChart is locked into an older version I’m left unable to use it…

Are there any plans to update you own dependencies to a new SharpDX?

While for now I have samples runnign without DirectX, I don’t know how important it might become in the future…

0 votes
70 views

Hello all,

I have a problem with the assembly reference. Whenever I use Scichart (XAML) in a subfolder (Microlevel\Controls\SciChart\UserControlScichartFIFO.xaml) I get the following error:
The Type or Namespace “Charting” is not available in the Namespace “Mircolevel.Controls.SciChart”. (Maybe a assembly reference is missing)
If I use Scichart directly under the WPF Project I don’t get this error.
I have added the following Scichart assemblies:
Scichart.Charting
Scichart.Core
Scichart.Data
Scichart.Drawing

In the XAML editor I added the following reference:
xmlns:s=”http://schemas.abtsoftware.co.uk/scichart”

I don’t have any idea what I’am doing wrong, because the reference to other assemblies I have added are available in the subfolders.

Thanks in advanced.

0 votes
89 views

Hi,

I´ve encountered following problem. My application should visualize variables of a machine. The user can select those variables an organize them in goups. For each group a SciChartSurface should be visualized with the selected variable as DataSeries.

Therefore I created a ViewModel for those groups. Holding them in a ObservableCollection wich is bound to an ItemsControl:

<ItemsControl
        Grid.Row="1"
        Grid.Column="1"
        Grid.ColumnSpan="6"
        HorizontalContentAlignment="Stretch"
        VerticalContentAlignment="Stretch"
        PreviewMouseWheel="XAxis_MouseWheel"
        PreviewMouseUp="ListView_OnMiddleMouseUp"
        d:PreviewKeyDown="ListView_OnPreviewKeyDown"
        d:PreviewKeyUp="ListView_OnPreviewKeyUp"
        ItemsSource="{Binding ChartViewModels}"
        >
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <UniformGrid Columns="1"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate DataType="traceControl:ChartViewModel">
                <Grid
                    HorizontalAlignment="Stretch"
                    VerticalAlignment="Stretch"
                    >

                    <s:SciChartSurface Loaded="ChartSurface_Loaded" 
                                       Unloaded="ChartSurface_Unloaded"
                                       Background="White"

                                       >

                      <!-- Some other stuff is also in here, modifiers and axissetup -->

                    </s:SciChartSurface>
                </Grid>
            </DataTemplate>
        </ItemsControl.ItemTemplate>

    </ItemsControl>

There is a Refresh-Action. It does clearing the the ViewModel Collection and creating new ViewModels depending on the configuration and fill them in the ViewModel Collection.

If both actionparts (clearing and filling data) were executed together in for example the ICommand of a button, the memory footprint is increasing each time the refresh button is hit.

If the actionparts were executed one by one, e.g. a clear button and a fill button, everything is fine.

Do I miss something?

Thanks in advance!

Markus

p.s. I was not allowed to add Screenshots of dotMemory

0 votes
84 views

I am using SCICHART in my project on Xamarin.Android, but the default them show some themes but I would like to change the background grid color of the reports. Please any can help me ?.

Showing 1 - 50 of 2k results
SciChart WPF v5 is here! Use the discount code SCICHARTV5 to get 15% off WPF Charts until December 31st!Read More
+