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

Welcome to the SciChart Community Forums!

Please use the forums below to ask questions about SciChart. Take a moment to read our Question asking guidelines on how to ask a good question and our support policy. We also have a tag=SciChart on Stackoverflow.com where you can earn rep for your questions!

Please note: SciChart team will only answer questions from customers with active support subscriptions. Expired support questions will be ignored. If your support status shows incorrectly, contact us and we will be glad to help.

0 votes
0 answers
142 views

Tooltips from my TooltipModifier were being clipped at the SciChartSurface’s boundaries when they were long, which I didn’t like. I poked around a bit and discovered SciChartSurface.ClipModifierSurface. After setting this to false, the tooltips were allowed to spill over the boundaries as desired. Yay! However, certain elements including (but perhaps not limited to) the GridLinesPanel’s border lines and gridlines from adjacent plots end up rendering on top of the tooltip (see screenshot; it’s showing two surfaces stacked vertically, with a tooltip from the top one spilling over onto the one below it). Is there anything I can do to prevent this? Things that didn’t work were using a custom TooltipContainerStyle with the new container’s opacity set to 1.0 and its Panel.ZIndex to 100.

0 votes
157 views

We are considering using SciChart (WPF), but only if its performance is ‘reasonable’ across Remote Desktop / or via Citrix Server. Have you addressed the known problems of using WPF applications across RDP / Citrix? If so, could you provide some stats as to the performance across RDP?

The reason we are asking is that our current software in which we are using our own high speed rendering is doing fine with a lot of data on the local machine, but is not doing so well across RDP. This is not a huge surprise given the known issues of WPF and RDP (for example see https://stackoverflow.com/a/1005739/246758). We may need to deal with this slowness as more of our customers are using Citrix-servers to run our software.

Any feedback on performance of SciChart across RDP / or using Citrix would be much appreciated!

0 votes
163 views

Hey,

I have followed the 50 EEG example in creating a group of graphs which is populated using a listbox and a data template. The graphs are created and populated correctly. The issue arises when creating graph modifiers (eg Rollover, Zoom). Is there an issue with selecting these graphs or adding modifiers.

Thank You

0 votes
195 views

I have a question about the scichart performance. I need to display a lot of data on the real time chart and above 2400000 values the chart crops and reacts very slowly. It was tested on Samsung s7. Does scichart handle that much data on devices? Is there any minimum phone performance requirements?

  • al luk asked 1 month ago
  • last active 1 month ago
0 votes
171 views

Hi,

Let me explain the structure of attached views. Default view state is https://imgur.com/a/zqAqpXp .

<VerticalViewPager>
    <FirstPagedFragment>
         <TradingViewFragment>
             <WebView />
         </TradingViewFragment>
         <SciChartFragment>
             <com.scichart.charting.visuals.SciChartSurface />
         </SciChartFragment>
    </FirstPagedFragment>
    <SecondPagedFragment> 
           ... 
    </ SecondPagedFragment>
</VerticalViewPager>

When FirstPagedFragment is dragged, SecondPagedFragment becomes displayed. You can see it on https://imgur.com/a/2VqZ1HY

The problem is the chart becomes disappeared when ViewPager is on changing state. Here is another link : https://imgur.com/a/xDO6Xtx

It is happened on [Samsung Galaxy S9, API 26] and [Xiaomi Mi A1, API 25] and I did not update displayMetric of chart.
Is there any configuration to fix this issue? Thanks.

All images are attached.

0 votes
167 views

Hi,

When I did some practices with your example app, I found some features does not work as I expected.
Here is CandlestickChartFragment.java and I wrote additional lines on xAxis builder, yAxis builder and surface.chartModifiers,

public class CandlestickChartFragment extends ExampleBaseFragment {
    @BindView(R.id.chart)
    SciChartSurface surface;

    @Override
    protected int getLayoutId() {
        return R.layout.example_single_chart_fragment;
    }

    @Override
    protected void initExample() {
        PriceSeries priceSeries = DataManager.getInstance().getPriceDataIndu(getActivity());
        int size = priceSeries.size();

        final IAxis xAxis = sciChartBuilder.newCategoryDateAxis()
            .withVisibleRange(size - 30, size)
            .withGrowBy(0, 0.1)
            // Start additional lines
            .withAutoFitMarginalLabels(false)
            .withTextFormatting("yyyy-MM-dd")
            .withCursorTextFormating("MM-dd")
            // End additional lines
            .build();
        final IAxis yAxis = sciChartBuilder.newNumericAxis()
            // Start additional lines
            .withAutoFitMarginalLabels(false)
            .withTextFormatting("$ #.#")
            .withCursorTextFormating("#.#")
            // End additional lines
            .withGrowBy(0d, 0.1d)
            .withAutoRangeMode(AutoRange.Always)
            .build();

        IOhlcDataSeries<Date, Double> dataSeries = new OhlcDataSeries<>(Date.class, Double.class);
        dataSeries.append(priceSeries.getDateData(), priceSeries.getOpenData(), priceSeries.getHighData(), priceSeries.getLowData(), priceSeries.getCloseData());

        final FastCandlestickRenderableSeries rSeries = sciChartBuilder.newCandlestickSeries()
                .withStrokeUp(0xFF00AA00)
                .withFillUpColor(0x8800AA00)
                .withStrokeDown(0xFFFF0000)
                .withFillDownColor(0x88FF0000)
                .withDataSeries(dataSeries)
                .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()
                    // Start additional lines
                    .withCursorModifier().withShowAxisLabels(true).withShowTooltip(true).build()
                    // End additional lines
                    .build());

                sciChartBuilder.newAnimator(rSeries).withWaveTransformation().withInterpolator(new DecelerateInterpolator()).withDuration(3000).withStartDelay(350).start();
            }
        });
    }
}

The result is below picture. I also attached the same image.
https://imgur.com/a/5Eqo8Gd
Displayed xAxis values are [27 Sep, 04 Oct, 11 Oct, 18 Oct, 25 Oct, 01 Nov].

The problems are
1. xAxis(CategoryDate) tick values should be started with year, even though it does not have enough margin. It looks updated format is not applied.
2. Cursor should be shown on touch event, but it does not be displayed at all.

I ran above code on [Samsung Galaxy S9, API 26] and [Xiaomi Mi A1, API 25] and same problems are happened.

Could I know what I missed?

0 votes
169 views

Dear Support, I have SciChartSurface in fragment (Xamarin Android). I added Xaxis (DateAxis), Yaxis (NumericAxis), standard modifiers and few XyDataSeries as FastLineRenderableSeries. Everything is working fine (screenshot 1). But something strange is happen when fragment with chart is Paused -> Stopped and then Started -> Resumed. Xaxis and Yaxis are not visible. All dataseries are not visible. But I debugged and all data is there. Even rolloverModifier is still working and correct data values are displayed in labels (screenshot 2). It does not happen every time – it depends on what external intent stopped fragment.

I’ve tried reinitialize chart (clear Xaxis, Yaxis, remove modifiers, remove renderableSeries are reinit all with new variables) and it does not help. Only fragment dettach -> attach helps or screen orientantion change (it reinitializes fragment)

Could you tell me any suggestion what can I check or how to force to redraw whole SciChartSurface? (hiding it and showing it does not help – effect is the same. Only fragment dettach and attach helps (this is my workaround at the moment).

0 votes
185 views

I have some complex data & am showing each dataset as a different colour, but I would like to be able to customise the legends.

I am interested in having 2 legends, one with each data set, showing the colour, and preferably, limited to a set number with the option to scroll, and the other showing that solid lines are the left Y axis, and the dashed lines are the right Y axis.

My question is, is there a way to apply a custom skin to the Legend & is there a way to show dashed lines instead of just a big coloured square in the legend?

0 votes
164 views

Hi,

I was looking at some examples and one thing caught my eye. In the example below

Android Line Chart

the graph appears smooth around the surface(appears to be a spline curve) but when I tried to implement the same the smoothness is gone(appears as a normal curve). Any apparent reason why this is happening.

0 votes
161 views

Hi,

I wanted to implement a custom delta provider for a numeric axis but there is no way to set the delta provider for the numeric axis. Please advice

Note : I want to change the number of ticks shown based on visible range. My visible range is dynamic.

0 votes
146 views

Hello, I’m using rollover modifier. By default data label is in first line, and data value is in second line. How can I modify it to have label and value in single line?

0 votes
182 views

Hi,

I am trying to show a 2D Scatter series having 4 points that form a square. Like (0;0), (1;0), (1;1) and (0;1). Is there a way to tell the chart to keep this thing square when I resize the surface, use zoom extent, rubber zoom etc? I basically need X/Y ratio to be fixed.

Thanks

0 votes
197 views

Hi,

I have a question as to whether it is possible to draw major gridlines to end at the renderSeries surface. Something similar to the attached image.

0 votes
198 views

Hi,

I am trying to add labels to the x axis but I don’t want the axis line to be visible. numericAxis.drawLabels = true enables the x axis line also. Is there a way to disable it?

0 votes
165 views

I’m using a rollover tooltip to display series info.
Tooltips are shown in the same order data points are hit, so it changes while i would like to fix it so the user always see the series in the same position throughout the chart.

Thank you

0 votes
227 views

When showing a new view, there are some annotations (from an AnnotationCollection) on the panel, but the RenderableSeries is empty. Is it possible to use the scrollbar to zoom in details of annotations?

  • yi zheng asked 1 month ago
  • last active 1 month ago
1 vote
204 views

Hi all. I would like to add tooltips to my chart, but have them behave a bit differently than they do by default. Specifically, they should

  1. Appear on left-click rather than on hover
  2. Stay open until the user clicks outside them (or the mouse leaves the chart area)
  3. Not appear if another ToolTip is already open (mostly follows from #2)

The existing ToolTipModifier can give me #1, but not #2 or #3, as far as I can tell.

So what’s the best way for me to implement this behavior? Can I get to it by subclassing the existing ToolTipModifier, or do I need to start from scratch? And if deriving is the answer, what would I need to override?

My motivation is that I would like to place buttons/hyperlinks in the tooltip for performing actions related to the clicked datapoint, so if there are completely different ways to achieve this that don’t involve tooltips at all, I’m open to suggestions.

0 votes
258 views

The Annotation API mentions adding borders and border colors to this annotation; however, I can find them. Do I need to create an annotation type of my own by extending from the TextAnnotationViewModel?

0 votes
278 views

Is it possible to scale annotations? I’ve included a couple screenshots. The first is our old, ugly legacy chart. The next few are SciChart. One challenge we have is to place labels on a chart at different locations relative to specific locations on the series. They need to be annotations that the user DOES NOT have permission to edit before he saves the chart to a PNG.

The purple and red lines on my chart look exceptional and “scale” correctly because their XY values scale as the chart is resized matching the series as it scales.

The red, purple and orange annotations however do not. I understand why it’s happening as I’m placing the annotations at exact locations via XY. So as I magnify or resize the window the XY doesn’t change; however, the original location of my annotation “appears to the user” to move. I understand that it’s not really moving as it is still located at the same exact XY where it was placed.

Is there a simpler way to scale it to a relative position during a window resize? Or am I stuck having to redraw the annotations as this happens?

1 vote
0 answers
307 views

I am developing a WPF application with multiple series on a single surface.
I would like to have a legend displaying for each series a value based on user’s choice (e.g. first point, last point, average, min, max and so on).

How can i achieve this?

Thank you

0 votes
0 answers
278 views

Hi,

I am using sci chart version 2.2.1.2256 in that I am getting date wrong, I have attached image please go through it.Here I am sending previously how I am getting date and now what I am getting.

I am using date formatter “dd/MM/yyyy”

finalDateStr = “29/08/2016” and finalWeightStr = “76.7”

dataSeries.appendX(SCIGeneric(dateFormatt.date(from: finalDateStr)!), y: SCIGeneric(finalWeightStr))

1 vote
321 views

I saw in the examples where a “gain” and “loss” affected the color of a series. This took a bit of time; however, I figured out was you were doing and was able to implement it.

Please see the attached image. There are 2 sections in my series that are “Green” whereas the remainder of the series is gray. I’d like to be able to do 2 things ONLY to the green area.

  • Show point markers ONLY on the points in the green area.
  • Increase the stroke thickness.
0 votes
355 views

We have a different legacy chart in our older applications. In this chart zooming happens when we pull down and to the right. We remove the zoom (zoom out to initial size) when we pull up to the left. Of course, this is all with the left mouse button pressed.

SciChart zooms, in my opinion, much better and more specific. However I’m sure my company would prefer the mouse down, pull up to the left to reset the zoom much like our legacy product.

Is this possible? Can I override the zoom effect?

0 votes
368 views

Hi,

I was checking the feasibility, where user can add curve line, same as if he is adding a line via line annotation, but I could not find a way to achieve this.

So wanted to check, if it is possible to have a curve line annotation or something ? I am not quite sure if we can achieve this via custom annotation or custom chart modifier.

Any help would be appreciated.

Thanks.

0 votes
0 answers
411 views

Microsoft has announced that it plans to retire the XPS file format and remove the XPS viewer in future Windows installations. I presume this mean the “Export to XPS” feature will not be useful for much longer. Given this news, does SciChart have plans to support a different vector format like SVG instead?

0 votes
464 views

I can’t establish a runtime license in my application because the method doesn’t show up in the intellisense.

SciChartSurface.SetRuntimeLicenseKey.

In fact, no methods exist for this class (I’m assuming this is a static class and method). I’m getting this class via…

SciChart.Charting.Visuals.SciChartSurface.

I’m guessing that this is not where this class is located, but I can’t figure out where it is.

0 votes
682 views

We are investigating the SciChart 3D trial in order to upgrade an application already using SciChart 2D. In the process, we found that SciChart 3D downloads and depends on a DLL at:

%LocalAppData%\SciChart\Dependencies\v5.2.0\x86\SciChart3DNative.dll

Our production environment doesn’t have internet access nor can users load DLLs downloaded into the users folder.

Is there a way to package SciChart3DNative.dll with SciChart 3D for offline usage? We have already tried copying the DLL and every permutation of the above folder path next to the compiled application, but this didn’t affect SciChart downloading and depending on the %LocalAppData% DLL.

0 votes
0 answers
710 views

The exception happens on the GC finalizer thread and has the following call stack:

SharpDX.dll!SharpDX.ComObject.SharpDX.IUnknown.Release() Line 256 C#
SharpDX.dll!SharpDX.ComObject.Dispose(bool disposing) Line 286 C#
SharpDX.dll!SharpDX.DisposeBase.CheckAndDispose(bool disposing =
false) Line 59 C# SharpDX.dll!SharpDX.DisposeBase.~DisposeBase() Line
28 C# [Native to Managed Transition]
kernel32.dll!00007ffc5c1b1fe4() Unknown
ntdll.dll!00007ffc5d1fcb31() Unknown

I have a single SciChartSurface that is plotting a single FastImpulseRenderableSeries, which is bound using MVVM (SeriesBinding/ImpulseRenderableSeriesViewModel). Only debug builds appear to be affected.

Do I need to be disposing or otherwise cleaning up any of the SciChart objects I create?

0 votes
668 views

I’m evaluating the WPF chart and have an issue when using series binding. In our first test app we added a series directly via code and that worked.

Now I’m using binding and have an issue with the series and gridlines not displaying.

I’m fairly confident it is binding because I can move the CursorModifier around on the chart and see appropriate tooltips which match the data I would expect to see given the XY axes.

Also, before binding a series the chart shows the gridlines correctly. Only after I bind a series does the lines disappear and the series to not draw.

I’ve attached the source, the XAML styles I’m using and images between a grid that looks correct (no series bound) and one that is invisible (IS bound).

Any ideas?

UPDATE: in this application even normal series won’t work. I’m using the same method I used in my original test application of adding to a series using the var series = new XyDataSeries<double, decimal>(); and appending points to a series I’ve predefined on the chart in the XAML file.

0 votes
718 views

Hi,
I have a 2D graph with single X-Axis and single Y-Axis. I want to have the Y-Axis always zoom to fit the data, but also want to force a minimum span, so that tiny fluxtuations in the trace dont get amplified when the trace is running at a steady value. Currently I’m using a derived ViewportManager like this:

class MinYSpanViewportManager : DefaultViewportManager
{
    public double MinSpan { get; set; } = 0.0;

    public override void AttachSciChartSurface(ISciChartSurface scs)
    {
        base.AttachSciChartSurface(scs);
        ParentSurface = scs;
    }

    public ISciChartSurface ParentSurface { get; private set; }


    protected override IRange OnCalculateNewYRange(IAxis yAxis, RenderPassInfo renderPassInfo)
    {
        if (ParentSurface.ZoomState == ZoomStates.UserZooming)
        {
            return yAxis.VisibleRange.AsDoubleRange();
        }

        var range = yAxis.GetMaximumRange().AsDoubleRange();

        var currentSpan = range.Diff;

        if (currentSpan >= MinSpan)
        {
            return yAxis.GetMaximumRange().AsDoubleRange();
        }

        double delta = MinSpan - currentSpan;

        return new DoubleRange(range.Min - delta / 2, range.Max + delta / 2);
    }
}

Is this the best way to implement this feature? I’ve seen a property on the NumericAxis called MinimalZoomConstrain, which sounds like it does what I want. But when I tried setting it to a value, the YAxis no longer automatically zoomed to fit the data, even if AutoRange=”Always” was set.

Best regards,
Jonathan

0 votes
717 views

I want to print the odd numbers 1,3,5,7,9,11 into the y axis of my chart using xaml in wpf.

0 votes
683 views

Quick example. All charts visible:

enter image description here

Setting Visibility.GONE to RSI chart:

enter image description here

As you can see part of RSI chart is now visible on MACD chart.

Here is my layout. I want to be able to hide any of the charts inside LinearLayout and the remaining charts should equally fill the newly created space. I wasn’t able to recreate the desired behaviour with ConstraintLayout, otherwise I would use it.

<com.scichart.charting.visuals.SciChartSurface
        android:id="@+id/priceChart"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:layout_height="0dp"
        android:layout_weight="1">

        <com.scichart.charting.visuals.SciChartSurface
            android:id="@+id/macdChart"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>

        <com.scichart.charting.visuals.SciChartSurface
            android:id="@+id/rsiChart"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>

        <com.scichart.charting.visuals.SciChartSurface
            android:id="@+id/volumeChart"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"/>
    </LinearLayout>
  • Primoz asked 2 months ago
  • last active 2 months ago
0 votes
763 views

I managed to be able to render the EllipsePointMarkers, but here is the thing: It only works when I declare the PointMarker in my view model inside the constructor of the XyScatterRenderableSeriesViewModel. The Style with the PointerMarkerTemplate is NOT APPLIED for some reason. Could this be a bug? Please note that in the following code in the view model I specify the color to be “Red” (ARGB(255, 255, 0, 0) but in xaml the template specifies yellow for the fill and stroke.

I absolutely need the PointMarker Template to work because I want to be able to change the color and thickness of the Scatter points during runtime via UI (function in my custom legend).

The following are code snippets from my view model and the corresponding xaml:

ChartSeries.Add(new XyScatterRenderableSeriesViewModel()
                {
                    DataSeries = dataSeries,
                    //Stroke = color,
                    //StrokeThickness = 10,
                    IsVisible = isVisible,
                    AntiAliasing = useAntiAliasing,
                    IsSelected = isSelected,
                    XAxisId = "DateTimeAxis",
                    YAxisId = yAxisId,
                    PointMarker = new EllipsePointMarker()
                    {
                        Fill = Color.FromArgb(255, 255, 0, 0),
                        Stroke = Color.FromArgb(255, 255, 0, 0),
                        StrokeThickness = 5
                    }

                });


<UserControl.Resources>

    <Style TargetType="{x:Type s:XyScatterRenderableSeries}">
        <Setter Property="PointMarkerTemplate">
            <Setter.Value>
                <ControlTemplate>
                    <s:EllipsePointMarker Fill="Yellow" Stroke="Yellow" StrokeThickness="15"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <s:EffectConverter x:Key="EffectConverter"/>

    <DropShadowEffect x:Key="LegendDropShadow" BlurRadius="10" Direction="-45" ShadowDepth="5" Color="Black"/>

    <SolidColorBrush x:Key="LegendTextBrush"  Color="#5F5F5F"/>

    <resources:VisibilityToBooleanConverter x:Key="VisibilityToBooleanConverter"/>

    <resources:CustomCategoryDateTimeAxisLabelProvider x:Key="LabelProvider"/>

</UserControl.Resources>
  • bbmat asked 2 months ago
  • last active 2 months ago
0 votes
719 views

Hi,

I’m trialing SciChart as a replacement to IOComp’s plot pack, which I’m trying to migrate away from since our move to WPF 2 years ago. I have a few questions, heres the first:

Does the PinchZoomModifier work currently? I suspect that it doesn’t, as I’ve followed this page from the documentation:
https://www.scichart.com/documentation/v5.x/webframe.html#PinchZoomModifier.html to no avail. I tested the program on two different PC’s with two different types of touch screen.

If it isn’t fully implemented yet, do you have an ETA on its arrival? If it is fully implemented, please can you provide a working example, I’ve looked through the samples program, but didn’t find any touch based examples.

Best regards,
Jonathan

0 votes
739 views

Hi there,

I’am using your example that name is SyncMultipleChartsFragment.
I want to share pinch zoom modifier all other charts. Your example provides “ModifiersSharedEventsGroup” . When zooming on chart other charts handle this zoom operation. In this case, fingers are just in a chart.
How can I make a finger zoom on 1 chart while the other finger is on a different chart.

Below I’am sharing a video about this problem.
Link of video : https://drive.google.com/file/d/1u42p9-vEQNxPzN56jF3QOjZIVUlOyyXx/view

Thank you very much,
Have a good day,

0 votes
742 views

Hi

I am new to Scichart. I started using it after trying another control to plot a realtime, high speed moving graph. Graph contains 4 channels or series. Each channel will have a common interval at x axis but different intervals at y axis. WPF application receives data at a serial port at a speed of 100 points every 24 milliseconds. I need to plot this realtime, moving. I also need to change intervals of x and y axis when running graph so the graph continues to plot at new interval.

Further more I also need to read values from x or y axis ie, Xa, Xb or Ya,Yb by moving cursor.

All these features where implemented using the previous control. but speed of plotting was low when comparing with speed of data received so buffering occurs.

Can all these be implemented using Scichart? If so can suggest some example so that I can refer it. What urgently required is changing divisions along x and y axis.
I need the appearance to be as in the image attached.

Thanks in advance!

  • Sophiya K asked 2 months ago
  • last active 2 months ago
0 votes
670 views

I just purchased a license for WPF 2D+3D (Pro) and tried to use a scichartsurface without DirectX and it works fine but as soon as I include

s3D:DirectXHelper.TryApplyDirectXRenderer="True"
                s3D:DirectXHelper.FallbackType="{x:Type s:HighSpeedRenderSurface}"

I get the following runtime error:

System.Windows.Markup.XamlParseException: ‘Could not load file or assembly ‘SciChart.Drawing.DirectX, PublicKeyToken=b55dd9efe817e823′ or one of its dependencies. The system cannot find the file specified.’

What am I doing wrong? I installed the newest Scichart version on the Nuget channel. In Nuget I can see that “SciChart”, “SciChart3D”, “SciChart.DirectX” and a bunch of SharpDX libraries were installed.

  • bbmat asked 2 months ago
  • last active 2 months ago
0 votes
694 views

I want to handle mouse click event on ChartSurface. I need to detect when clicked on chart whether series was clicked or chartsurface was clicked. I handled previewmouseleftbutton on chartsurface but it is not giving clicked element information. Can you pls help?

  • KC asked 2 months ago
  • last active 2 months ago
0 votes
0 answers
701 views

Hi,

I am playing with the heatmap chart and stumbled upon an IndexOutOfRange exception when updating the chart.

I initialise my chart where Height=2 and Width=3:

var data = new double[Height, Width]; // 2 rows, 3 columns
double d = 0.0;
for (int y = 0; y < Height; y++)
{
    for (int x = 0; x < Width; x++)
    {
        data[y, x] = d++;
    }
}

heatmapSeries.DataSeries = new UniformHeatmapDataSeries<int, int, double>(data, 0, 1, 0, 1);

Calling the following line returns 5 which is equivalent to getting the value with data[1,2] (all good so far):

dataseries.GetZValue(yIndex: 1, xIndex: 2);

Now let’s update that value to, say 7.1, with:

dataseries.UpdateZValue(xIndex: 2, yIndex: 1, zValue: 7.1);

Executing the above line throws an IndexOutOfRangeException. Looking at the source code, the UpdateZValue() method does:

_zValues[xIndex, yIndex] = zValue;
// ...

No wonder why the exception gets thrown… I reckon it should be _zValues[yIndex, xIndex] = zValue; (xIndex and yIndex swapped).

0 votes
756 views

I’m trying to figure out the best approach to this. Basically I have line series which is defining a limit, may only have points at X=0 & max rather than individual points. My 2nd value I want to fill with one color when it’s below that limit and if it goes above the limit then only the portion above that limit should be colored differently (blue in example).

Anybody able to set me on the right track for this? I can think of ways to do it if I break the 2nd value up and display as two series (would basically be a stacked mountain then. and just limit one to not go above the limit value. Is there a way to avoid breaking this up to separate series and just style it?

Chart example

  • meaka asked 2 months ago
  • last active 2 months ago
0 votes
652 views

What I need to achieve is to allow the user to change the thickness of the axis line for example, the font size of the axis legend, the background color, the grid lines visibility, etc.

My first idea would be to create a ViewModel with all these properties and bind them to the plot, so that when the user changes them via some other control like a slider or a textbox, they get updated in the plot.
Is that the right way to do it ?

0 votes
724 views

SciChart WPF control

I’m trying to configure the axis range using VisibleRange. Is it possible that in Visible range, I set only min value and then max value is set automatically by tracking the maximum value series has? Same way, if I set max value of VisibleRange then min value is set automatically by tracking min value of the series? How to achieve the VisibleRange setting by just setting one of Min/Max value?

  • KC asked 2 months ago
  • last active 2 months ago
0 votes
739 views

Hello,
I would like to ZoomOut immedeatly after new data is rendered.
I would like to have flexibility in Zooming Out, therefore I cannot use AutoRange.Always.
I have implemented ZoomOut in SciChartSurface.Rendered, but that seems to be too early, as it doesnt react on the new data, instead zooms out based on the old data.
I have to wait 100 ms, then it works and it zooms out based on the new data.
Is there an event even after SciChartSurface.Rendered that is better suited to call the ZoomOut function?

I have used the technique described in the answer below. However, I am awaiting the dataChange and then call ZoomOut. It still doesnt work.

In my Code behind:

            await viewModel.DisplayData();
            viewModel.ZoomOut();

DisplayData adds LineRenderableSeriesViewModel with DataSeries to the RenderableSeries Observable Collection.

And in my ViewModel:

    internal void ZoomOut()
    {
        if (RenderableSeries.Count() > 0)
        {
            var parentSurface = ((LineRenderableSeriesViewModel)RenderableSeries.ElementAt(0)).DataSeries.ParentSurface;
            var viewportManager = parentSurface.ViewportManager;
            viewportManager.BeginInvoke(() =>
                {
                    viewportManager.AnimateZoomExtents(TimeSpan.FromMilliseconds(250));
                });

        }
    }

This way it works:

            await viewModel.DisplayData();
            await Task.Run(()=>System.Threading.Thread.Sleep(TimeSpan.FromMilliseconds(500)));
            viewModel.ZoomOut();

But that can’t be the solution – I need an event that fires when all the data is known to sciChartSurface.

Thanks,
Holger

0 votes
715 views

I just started trying SciChart recently. I would like to know whether it is possible to add markers as in the picture. Basically, one can add as many markers as he wants (like marker 1, 2, 3, 4 in the picture) on line series. X and Y values of these marker will be shown somewhere on the chart (it can be freely moved around too). Also all the markers can be dragged along the series to different locations. One can also double click a marker to enter X value to move the marker to new location.

0 votes
686 views

Hi, I’m using scichart to implement a blood pressure chart. But I have to worry about not being able to implement additional features.

What you want to implement is

Using RolloverModifier and onTouchEvent, we need to draw a vertical bar using the canvas class by getting the coordinates of the first checking point at the end of the scroll and the second checking point at the end of the second

However, onTouch does not match the value given by RolloverModifier Tooltip when using montionvent.getX ().

I have been suffering for over a week because of the problem. Please help me.

  • Kim young asked 2 months ago
  • last active 2 months ago
0 votes
797 views

The standards color scheme of the Scichart control is dark, the standard color theme of the WPF windows is light.
I would like to change either one of them – but all dark themes that I find in Nuget for WPF dont work properly in VS 2015.
Is there a possibility to change the Scichart color theme to light so that it fits the WPF color scheme better?

0 votes
957 views

Hi,

I am showing multiple chats in multiple pages in a loop viewPager but the license key is not recognised in some pages. This happens with no particular pattern to it. It sometimes disappears when I relaunch the app. Then again if I do the same it reappears.

0 votes
675 views

Hi,

I see there is spline interpolation for WPF https://www.scichart.com/documentation/v5.x/Spline%20Interpolation%20Filters.html is there a timeline for introducing this in the Android platform?

0 votes
762 views

Basically I want to do something like this:
https://finviz.com/map.ashx?t=sec

It’s a hierarchical dataset, displayed visually. Is there a way to do this with SciChart?

  • kelias asked 2 months ago
  • last active 2 months ago
0 votes
731 views

hi,
I am currently trying to implement a chart with a category datetime axis. I custom a label formatter for handling a custom datetime format, let say”yyyy/MM”. Only the 1st tick of each year will display the label.
Eg: data with[“2018/1”,“2018/3”,“2018/5”], only show 2018/1, others show with empty/no label

I find the overrided method of label and cursor label formatter have only returned Comparable object which should be only returned the current rederering datetime axis label’s date.
Is there any way to find the previous one label to compare or any suggestion for implement this axis? Thank you!

  • may lym asked 2 months ago
  • last active 2 months ago
Showing 51 - 100 of 2k results