Pre loader

Forums

Welcome to the SciChart Forums!

  • Please read our Question Asking Guidelines for how to format a good question
  • Some reputation is required to post answers. Get up-voted to avoid the spam filter!
  • We welcome community answers and upvotes. Every Q&A improves SciChart for everyone

WPF Forums | JavaScript Forums | Android Forums | iOS Forums

0 votes
2k views

Hi,

wpf schichart dataseries length is 2048
_dataSeries[i] = new XyDataSeries<DateTime, double> { FifoCapacity = 2048, AcceptsUnsortedData = true };

But i am looping to fill the data in scichart for 1024 times only, so to fill 2048 length, 2 times have to loop of 1024

_dataSeries[channel].Append(Datetime, value);

please find the issue if i do the above process in image1, in middle of the graph can find little thickness of wave at a straight line(because of no data) instaed of wave

if i loop 2048 times to fill at once graph is getting freeze, even if i select more channels(as in image on the right side showing showing 8 channels) data wont display

0 votes
6k views

hi support,

I asked a question about drawing color bands according to category and I am pointed to this thread

This seems to be the solution I am looking for, however, now I need to show category below the axis label but above the axis title… as shown in the attached image. currently what I did is to create style for AxisTitle to include another SciChart surface with dummy Y-Axis (disabling the MajorTicks, MinorTicks, Bands, Major/Minor gridlines) and one customized NumericAxis as given by the example shown in the thread.

I feel the code will be very complicated if I want to handle different axis type during run-time, may I know if there is any better way to accomplish this?

(P/S: how can I search back the questions that I have posted before if I didn’t bookmark it?)

0 votes
4k views

If an observable collection changes with a “Reset” notification, the AxesBinding clears the surface’s axis collection but does not add the new axes from the bound source collection.

The problem seems to be, that SourceCollectionBase<TView, TViewModel> adds the axes from NotifyCollectionChangedEventArgs.NewItems, which is always empty if the action is “Reset” (this is enforced in the constructor of NotifyCollectionChangedEventArgs).

I already have implemented a workaround in my project, but it would be great, if you could fix this bug (and give me a free renewal, so that I can use the fixed version, just kidding).

Update:
SeriesBinding seems to have problems with “Reset” collection changes too. It works on the first “Reset” but not on the second one.

0 votes
11k views

Is there a way to extend the trial version license?

0 votes
0 answers
4k views

Please see attached. My UI with SciChart and then the byte[] using ExportToBitmap() that is displayed on a Crystal Report. Is this a SciChart issue? My reports guy is not in today and I’m concerned that it could be a SciChart issue, but it could very well be Crystal Reports as well. Anyone seen anything like this before?

1 vote
2k views

Hello,

I am trying to change the frequency range in the Y axis on the Heatmap to 100000 from 50000, but the plot does not seem to be working to scale to the proper frequency range on the Y axis. I expect the plot to keep the same scale around 20000 for the upper line when I change the upper scale to 100000, but the graph scales the upper line up to 40000. I’m using function Heatmap2DArrayDataSeries() and passing the series data along with TimeFunc() for mapping to X axis and FreqFunc() for mapping to Y axis. I made some changes to FreqFunc(), but it did not change the upper line to 20000. See below for my partial code. Thanks,

    protected override void OnDisplayLoaded()
    {
    ...
    ...
        _dopplersurface.YAxes[0].VisibleRange = YVisibleRange2; // YVisibleRange2 = {0, 100000}
        _surface.UpdateLayout();

    }

    private void PlotData()
    {
    ...
        ...
        heatmap2DArrayDataSeries = new Heatmap2DArrayDataSeries<DateTime, double, double>(_spectrogramBuffer, TimeFunc, FreqFunc);
        HeatmapRenderableSeries = heatmap2DArrayDataSeries;
    }

    double FreqFunc(int iy)
    {
        double FreqDelta = 1.0 / (time_queue[1] - time_queue[0]).TotalSeconds / (FFT_Points / 2.0);
        if (((FFT_Points / 2.0) * FreqDelta / 2) < (double)YVisibleRange2.Max); // FFT_Points = 1024
        {
            FreqDelta = FreqDelta * 2;
        }
        return iy * FreqDelta / 2; // Returns 0 if iy is 0 and 50000 if iy is 512
    }

    DateTime TimeFunc(int ix)
    {
        if (time_queue.Count > (ix * Step))
        {
            DateTime DateTimeTemp1 = time_queue[ix * Step];
            return DateTimeTemp1;
        }
        else
        {
            return time_queue[time_queue.Count - 1];
        }
    }
  • Hoa Duong asked 2 years ago
  • last active 2 years ago
1 vote
2k views

I found two other related questions on this forum one being 11 years ago and the other dated 8 years but my recent trial installation encountered the exact same error and I have no way to start testing the charting library in my code.

I followed this tutorial:
https://www.scichart.com/documentation/win/current/webframe.html#Tutorial%2002b%20-%20Creating%20a%20SciChartSurface%20with%20MVVM.html

And I get this this error:
The tag ‘SciChartSurface’ does not exist in XML namespace ‘http://schemas.abtsoftware.co.uk/scichart’

I tried installing through the MSI & Licensing Wizard and I also reinstall the package through NuGet package manager console, and restarting Visual Studio but problem remains.

The SciChart WPF library version: 8.2.0.27935
Visual Studio: Microsoft Visual Studio Community 2022 (64-bit) configured to be x86. Target framework 4.8.

This is very disappointing

  • CJ Lo asked 3 months ago
  • last active 3 months ago
0 votes
0 answers
3k views

Is it possible to use an image in a StackedColumn? I’d like to use a design in the columns instead of a solid color with Fill.

Edit: I figured out how…

So while you can’t assign an image directly to StackedColumn, per say, you can use various Brushes with Fill and one of those Brushes is the ImageBrush. It goes something like this:

stackedColumn.Fill =  = new ImageBrush(image: new BitmapImage(uriSource: new Uri(uriString: "Images/MyImage.png")));

I actually ended up using the LinearGradientBrush instead of ImageBrush for my needs and it works great!

  • Greg Knox asked 4 years ago
  • last active 4 years ago
1 vote
9k views

Hello,
I’ve been looking for the documentation of how to customize the look of the chart. I have a black/dark gray checker pattern that seems to be the default. I would like to:
1. Change the background to white, no checkerboard pattern
here is the documentation for chart background but it does not show me how to change it to white. https://www.scichart.com/documentation/ios/v2.x/webframe.html#The%20SciChartSurface%20Type.html
I have found through experimentation the I can call

surface.backgroundColor

But that just changes the axis background color

2. Make the text larger on the axis.
here is the documentation for the axis https://www.scichart.com/documentation/ios/v2.x/webframe.html#Adding%20an%20Axis%20to%20a%20SciChartSurface.html
I see these lines that were provided but they won’t compile because Xcode doesn’t know what defaultFontSize is and there are no other references to it and I still don’t see a way to set the size.

textFormat.fontName = SCSFontsName.defaultFontName
textFormat.fontSize = SCSFontSizes.defaultFontSize

I think it would be helpful to create a walkthrough for iOS that shows how to customize the background and axis. I’ve looked through the samples provided but the files are huge and I get lost trying to figure it out.
Thanks,
Warren

1 vote
8k views

Hello,

I’m having issues when I want to apply a custom PaletteProvider to a XyScatterRenderableSeries.

It takes forever to show just 10.000 points! I am really surprised given that without custom coloring I can render more than 50M points.

As far as I know, I’m not doing anything fancy. Have a simple transfer function inside the PaletteProvider that colors the PointMarker based on a Z value that is set as an indexed collection which I can access directly on the Palette Provider.

I’m using a SquarePointMarker as the marker, and I’ve also tried to set DirectXHelper.TryApplyDirectXRenderer to true.

Is this a known performance issue? Is there some way to by-pass it?

We’re expecting to be able to draw about 10M points colored.

Thank you.

Regards,
Sebastian

1 vote
3k views

I’m building a chart where I’m plotting range vs doppler and the range has some error in it. There is a need for me to show the upper and lower bounds of that error. The issue I’m having is that for this particular chart the range is the x value. I have an estimated range but I need to show that there is some error in it. How do I make the error bar horizontal? I saw in the Android SDK there is a method to set the error bar direction. Is there something I can do in WPF to change the orientation of the error bar?

0 votes
6k views

Hi,

When I used scichart real-time graph for 3 days(no stop), It does not draw smoothly.

It looks broken… draw, wait for 1 second, draw, wait…..(repeat)

but first day, It worked well..

Why is it??

I use buffer size(1843200) and draw 80 fast lines.

and Memory in my PC is 16GB.

Please help me to solve this problem….

  • CholJin Ko asked 6 years ago
  • last active 6 years ago
1 vote
6k views

Hello

My application environment is on the mobile browser, so we need to switch between [pan] and [rollover]

When I use a button to switch, everything is fine, but when I want to switch with a long press, an exception occurs

Below is my code

    initModifier() {
        this.partitionList.forEach((obj, idx)=>{
            let sciChartSurface = this.sciObj[idx].sciChartSurface;
            this.zoomPanModifier[idx] = new ZoomPanModifier();
            this.rolloverModifier[idx] = new RolloverModifier({modifierGroup: this.modifierGroupId, showTooltip: false});
            this.zoomPanModifier[idx].isEnabled = true;
            // 擴增功能
            sciChartSurface.chartModifiers.add(
                this.zoomPanModifier[idx],
                new ZoomExtentsModifier(),
                new MouseWheelZoomModifier(),
                new PinchZoomModifier(),
            );
        });
    },
    switchCross() {
        let enablePan = !this.zoomPanModifier[0].isEnabled;
        this.partitionList.forEach((obj, idx)=>{
            let sciChartSurface = this.sciObj[idx].sciChartSurface;
            this.zoomPanModifier[idx].isEnabled = enablePan;
            if (enablePan)
                sciChartSurface.chartModifiers.removeAt(4);
            else
                sciChartSurface.chartModifiers.add(this.rolloverModifier[idx]);
        });
    },

I recorded a video, first use the button to switch, and then long press to switch, you can see the problem I want to narrate from the video, the URL is as follows: https://youtu.be/vJjbLNGS-iM

After the problem occurred, it was expected that touchmove should be [pan], but it became [zoom]

Thanks for your help

0 votes
0 answers
5k views

Attached sample program based on AnnotationsAreEasy

The graph is on a Tab of a TabControl.
There is a custom Composite Annotation on the left side of the graph – ZoneAnnotation: consisting of a BoxAnnotation and a TextAnnotation.

Click on Chart Tab and the annotation displays correctly first time.
Click on Tab1 then Click on Chart Tab again. Now the box part of the annotation does not get drawn.
If you pan or zoom the chart it magically re-appears!

Click on Tab1 then Chart Tab again and it disappears again.

Cut down code attached is using V6.6 but this still happens on v7.0.2.27161

Is this a bug or something with the way I am defining the ZoneAnnotation?
Thanks

1 vote
9k views

I would like to create a level meter, maybe something like this:

http://www.howtoguides.co.uk/VU_meter.png

I assume a bar chart, but am looking for suggestions.
BTW, I just switched from OxyPlot to SciChart, what a difference! I am so impressed!

Thanks,
-Robert

0 votes
10k views

Hello.
Using SciChart v2.2.
BaseRenderableSeries.HitTest(MousePoint) triggers not only in series pane, but also in other panes.

My hit-test code is below, called from public override void OnModifierMouseMove(ModifierMouseArgs mouseEventArgs)

foreach (var renderSeries in ParentSurface.RenderableSeries)
            {
                var series = renderSeries as BaseRenderableSeries;
                bool isCandleSeries = ((series as FastCandlestickRenderableSeries) != null);

                if (series != null && series.DataSeries != null)
                {
                    var hitTest = series.HitTest(mouseEventArgs.MousePoint);

                    if (hitTest.DataSeriesType == DataSeriesType.Ohlc)
                    {
                        seriesAnnotaion[k].X1 = hitTest.DataSeriesIndex;
                        seriesAnnotaion[k].Y1 = hitTest.CloseValue;

                        if (hitTest.IsHit)
                        {
                            //show tooltip
                        }
                     }
                  }
               }
1 vote
9k views

Hi,

I was wandering if there’s a way to display the data in the SciChartOverview control in a logarithmic scale.
Perhaps something equivalent to the LogarithmicNumericAxis ?

The matter is quite urgent, hence I’ll be very grateful for a prompt response.

Thanks,
Mark.

  • Mark asked 9 years ago
  • last active 9 years ago
0 votes
8k views

Hi,

Given the 2D heat map sample, could you suggest how to improve performance so that UI remains responsive. This is somewhat similar to what we would in worst case need for our application. There is room for tweaking the updates to UI and how things get displayed or using a non MVVM solution, etc.

Thank you for your help!

Rok

  • Rok Rode asked 8 years ago
  • last active 4 years ago
1 vote
4k views

such as,
SciChartSurface didn’t render, because an exception was thrown:
Message: Object reference not set to an instance of an object.

Stack Trace: at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length, Boolean reliable)
at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
at SciChart.Data.Model.Values1.qui(Int32 tht)
at jrj.ResampleInternal(Values
1 resampledXValues, Values1 resampledYValues, Vectori resampledIndices, Double[] xValues, Double[] yValues, ResamplingArgs args)
at SciChart.Data.Numerics.PointResamplers.ExtremeResamplerBase
2.dlq(IList1 hxl, IList1 hxm, IPointSeries hxn, ResamplingArgs hxo, DoubleRange hxp)
at SciChart.Data.Numerics.PointResamplers.ExtremeResamplerBase2.Execute(IList1 xColumn, IList1 yColumn, ResamplingParams resamplingParams, ResamplingMode resamplingMode, IPointSeries lastPointSeries)
at SciChart.Charting.Model.DataSeries.XyDataSeries
2.ToPointSeriesInternal(ResamplingParams resamplingParams, ResamplingMode resamplingMode, IPointResamplerFactory factory, IPointSeries lastPointSeries)
at SciChart.Charting.Model.DataSeries.DataSeries`2.ToPointSeries(ResamplingParams resamplingParams, ResamplingMode resamplingMode, IPointResamplerFactory factory, IPointSeries lastPointSeries)
at jfw.dxn(AxisCollection cax, IRenderableSeries cay, RenderPassInfo caz, IPointResamplerFactory cba, Boolean cbb, IDataSeries& cbc, IndexRange& cbd, IPointSeries& cbe, Int32& cbf)
at jfw.dxl(ISciChartSurface cat, Size cau, Boolean cav)
at jfw.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

  • YXJ YXJ asked 3 years ago
  • last active 3 years ago
0 votes
6k views

I am considering applying server-side licensing for my javerScript application.

In the document below, there is a phrase “Our server-side licensing component is written in C++.”
(https://support-dev.scichart.com/index.php?/Knowledgebase/Article/View/17256/42/)

However, there is only asp.net sample code on the provided github.
(https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-dotnet-server-licensing)

I wonder if there is a sample code implemented in C++ for server-side licensing.

Can you provide c++ sample code?
Also, are there any examples to run on Ubuntu?

0 votes
8k views

Hi,

I have several chart panes that share a mouse group and a shared visual range (I inject the shared visual range of type IRange in the constructor of the pane view model). I then set the XAxis visual range to the shared visual range inside each pane view model. However, when I use either of the below approaches outside of the pane view model to adjust the min and max of shared visual range, the Xaxis.VisualRange of each pane does not reflect that change.

Approach A: _sharedVisualRange.Min = ….; _sharedVisualRange.Max = …
Approach B: _sharedVisualRange.SetMinMax(….)

Neither approach actually impacts the XAxis.VisualRange.Min/Max.

Initially when I created the XAxis in code I set its VisualRange equal to the shared visual range that was injected via constructor, like :

XAxis = new CategoryDateTimeAxis()
{
……
……
VisualRange = _sharedVisualRange,
…..
};

Please note that all the above refers to code in the view model. I bind the XAxis in the pane view model to the XAxis of the surface in xaml.

My entire synchronization heavily relies on the assumption of this working, but it does not.

  • bbmat asked 6 years ago
  • last active 6 years ago
0 votes
0 answers
8k views

Hi there,

if I use a ScaleTransform, the Fonts (e.g. axis text) are rendered with higher resolution – the chart is only scaled.
Is there a possibility to increase the render resolution for the chart also?

The intent is to print the chart with higher resolution.

Thanks and regards

  • miri asked 9 years ago
0 votes
7k 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
10k views

Hi,

I’m in need to draw polygons around series, so they must scale correctly when zooming and support transparency.
So far I am unable to find a native and simple way to do it, can anybody help me?

Thank you so much

-1 votes
5k views

Dear all,

I try to implement the sample Drag Horizontal threshold to my app but it is partially working.
I have done exactly the same, but for some reason in my application the function OverrideFillBrush, OverrideStrokeColor, are call only once time and never gets call again.

Any idea when those function are called and why they are not called when threshold is trigged ???

My threashold trigger property is trig each time it change but never change color of my chart based on the trigger value

Thnaks for help
regards

  • sc sc asked 6 years ago
  • last active 6 years ago
0 votes
11k views

Hi,

I attached two images of what I need to do (easier than explaining it), I’m interested in the blue polygon, It could resemble the use of columns with the polar chart, but not quite, is there a simple way to do this or could someone point me to the right direction?

Thank you

Alex

0 votes
8k views

I have 2 series of data in my chart like this:

<s3D:SciChart3DSurface.RenderableSeries>

</s3D:SciChart3DSurface.RenderableSeries>

My question is, how can I bind multiple series to the RenderableSeries of the SciChartSurface instead, because that requires an ObservableCollection , which is not the same as the XyzDataSeries3D the series are being bound to.

1 vote
2k views

I’m a C# developer looking to evaluate working with SciChartJS for a possible future project.

I’ve created a .NET Blazor Project working with JavaScript Interop and I would like to extend the CustomChartModifier2D in TypeScript.

I’ve not used npm to install SciChart into the project, rather I’m using the CDN approach in my _Host.cshtml file.

<script src="https://cdn.jsdelivr.net/npm/[email protected]/index.min.js" crossorigin="anonymous"></script>

I’ve been searching online for a SciChartJS TypeScript definition file so that I can leverage TS Strongly Typed system in my test project.

Is there one? Or do I need to build my own, or even is there an already made example of extending SciChart with TypeScript somewhere I’ve missed?

Thank you

  • David P asked 5 months ago
  • last active 5 months ago
0 votes
0 answers
4k views

I looked at this thread but it doesn’t help me.

https://www.scichart.com/questions/wpf/dynamically-clearing-legends-from-the-legendmodifier

I have problem where an item is still shown in the legend even though no series is currently displayed on the chart.

For example.

  1. The SciChart RenderableSeries dependency property of my chart surface is a property in my view model named “Measurements”, I.e. ObservableCollection of IRenderableSeries.
  2. An ObservableCollection of another class named “ExampleList” is also in my view model.
  3. In a data grid elsewhere in the application a user selects 3 rows. The “ExampleList” collection now has 3 items in it. Part of the setter for that property is to call “Measurements.Clear()” and then follow that with a “Measurement.Add(newseries)” 3 times.
  4. When a user selects an individual item in the data grid that contains no points that could be displayed on the chart I only call “Measurements.Clear()” and I don’t subsequently called “Measurements.Add()”

My issue is that the legend never clears and shows the last series that was selected before selecting this new item which shouldn’t even be in the chart. It’s behaving as if the chart were not cleared; although I have verified that I definitely am calling “Measurements.Clear()”

1 vote
6k views

Hi,

is it somehow possible to have a print dialog that allows for a preview?

thank you,
Bruno

0 votes
11k views

I have a CompositeAnnotation and set CoordinateMode to RelativeX.

How to get absolute X position of the annotation in code behind?

<s:CompositeAnnotation.Annotations>
    <s:VerticalLineAnnotation
                              CoordinateMode="RelativeX"                               
                              IsEditable="True" 
                              CanEditText="True"
                              x:Name="MainAnnotation">
        <s:VerticalLineAnnotation.AnnotationLabels>
            <s:AnnotationLabel Text="My annotation"
                               CanEditText="True"
                               LabelPlacement ="Right"
                               />

        </s:VerticalLineAnnotation.AnnotationLabels>

    </s:VerticalLineAnnotation>
0 votes
14k views

Hello,
I have a chart with four y-axes(4 Charts in one, YAxisId’s are Ch0,Ch1,Ch2,Ch3) and want to create a Boxannotaion which range over all four charts.
How can I specify a BoxAnnotation for more than one YAxisId?
And how can i change the X;Y-Values of the box programmatically?(Example: I press a button and the box should move xx positions on the X-Axes).

0 votes
10k views

I’m using XyDataSeries<Timespan, double> to plot to my chart.

I want to show elapsed time at chart X-Axis label like below

ex) If Timespan value is 1day 2hour 30min 40sec

Default label style: 02:30:40

Label style I want: 26:30:40

How can I set like that?

0 votes
6k views

I’v tried the latest version[6.5] of SciChart WPF suite and THEN I activated an older version [6.2] in the same computer. Of course, the serial key was left by an ex-colleague. It’s strange that I can activate ver 6.2 and succeed to get a run-time key. But the key cannot be recongnized by the program. It said I didn’t input a run time key in the render surface.
What’ worse, there are no entities rendered in the SciChartSurface. Just show a blank one.

This issue could be reproduced by the following steps:
1. use a trial version of the latest SciChart;
2. activate an older version using an expired license key. [royalty use, right?]

If I reinstall the OS, and use ver 6.2 directly, all works well.

We’ve brought several 6.2 s, I think reinstall OS is not a smart method to solve this. Could it be solved in a more easy way?

  • Niu mag asked 2 years ago
  • last active 2 years ago
1 vote
3k views

I am considering applying server-side licensing for my javerScript application.

In the document below, there is a phrase “Our server-side licensing component is written in C++.”
(https://support.scichart.com/index.php?/Knowledgebase/Article/View/17256/42/)

However, there is only asp.net sample code on the provided github.
(https://github.com/ABTSoftware/SciChart.JS.Examples/tree/master/Sandbox/demo-dotnet-server-licensing)

I wonder if there is a sample code implemented in C++ for server-side licensing.

Can you provide c++ sample code?
Also, are there any examples to run on Ubuntu?

0 votes
10k views

Hi,

I’m using the YAxisDragModifier to pan one or more Yaxis.

// Add a new YAxisDragModifier for this axis
var yAxisDragModifier = new YAxisDragModifier();
yAxisDragModifier.DragMode = AxisDragModes.Pan;
yAxisDragModifier.AxisId = axisId;
yAxisDragModifier.ReceiveHandledEvents = true;
yAxisDragModifier.MouseUp += new System.Windows.Input.MouseButtonEventHandler(yAxisDragModifier_MouseUp);
yAxisDragModifier.MouseDown += new System.Windows.Input.MouseButtonEventHandler(yAxisDragModifier_MouseDown);
                this.ChartModifier.ChildModifiers.Add(yAxisDragModifier);

I like to capture the MouseUp event, but it won’t work.
How can I do this?

Thanks and best regards,
Egbert

0 votes
11k views

I have several series on a surface and currently use the Rollovermodifier. It highlights the datapoint on each series that intersects with the current vertical line of the RolloverModifier. However, I don’t seem to be able to display the corresponding y-values on the Y-Axis. How can I accomplish such? Is there any easy way to show the y-value of each series on the y-Axis that intersects with the vertical line of the Rollovermodifier?

  • bbmat asked 4 years ago
  • last active 4 years ago
0 votes
6k views

I am looking to customize the shape of the rollover vertical line (Android) – particularly, make it dashed and potentially increase the line thickness.
I saw that this is possible for WPF (https://www.scichart.com/questions/wpf/crosshair-cursormodifier-color-and-thickness), but was not able to find any information for Android.

Is this styling capable in Android?

0 votes
12k views

Hi,

I’m using 2 annotation markers, one horizontal and one vertical.

In xaml:

            &lt;SciChart:SciChartSurface.Annotations&gt;
                &lt;SciChart:HorizontalLineAnnotation HorizontalAlignment=&quot;Stretch&quot; IsEditable=&quot;True&quot; LabelPlacement=&quot;Axis&quot; LabelTextFormatting=&quot;0.0&quot; ShowLabel=&quot;True&quot; Stroke=&quot;Orange&quot; StrokeThickness=&quot;2&quot; Y1=&quot;{Binding Path=UpRightMarkerYPos, Mode=TwoWay}&quot; IsHidden=&quot;{Binding Path=TimeChartMarkerIsHidden}&quot;/&gt;
                &lt;SciChart:VerticalLineAnnotation VerticalAlignment=&quot;Stretch&quot; IsEditable=&quot;True&quot; LabelPlacement=&quot;Axis&quot; LabelTextFormatting=&quot;0.0&quot; ShowLabel=&quot;True&quot; Stroke=&quot;Orange&quot; StrokeThickness=&quot;2&quot; X1=&quot;{Binding Path=BowMarkerXPos, Mode=TwoWay}&quot; IsHidden=&quot;{Binding Path=TimeChartMarkerIsHidden}&quot;/&gt;
            &lt;/SciChart:SciChartSurface.Annotations&gt;

I’ve set the LabelPlacement on Axis, so I expect that the labels will not be drawn over the graphical data.
It works fine for the Vertical one, but the horizontal marker will display the label over the data, so I can’t see a part of my graph anymore.
How can I position the label so it will not be on top of the graphical data?

Thanks,
Egbert

0 votes
8k views

Hi,

StackedColumnRenderableSeries tooltip doesn’t appear until cursor position to the top of the bar. Is there any setting that I can show tootip if cursor is on the body of a stack?

Thanks & Regards,
Charith

0 votes
0 answers
9k views

Dear all,

I have my axis which are position on the Laft side of my chart. Then I have an annotation wich is define and where the labelPlacementProperty=”Axis”. By doing so the value of the axis when we move the cursor is display in a rectangle box.

my customer would like to get the labelPlacementProperty=”Right”, but by doing so , I am loosing the small rectangle around the axis value.

What is the way to get the annotation axis appearing on right side but still having the value inside a rectangle ?

(see image below)

1 vote
10k views

Hi I need that my stock chart to be very flexibilely configured. For example the SciStockChart already has a price of the current candle on the right. Can I add a line to it ? Like “Line Annotation”? does that mean I have to disable the original price marker, and add a Line annotation manually binded to latest price? Which is the best option to have a real time stock chart? To use a SciStockChart and customize it or use SciChartSurface and implement all needed functionality? On the images I showed what I need. Thanks in advance!

2 votes
20k views

Hi,

I am trying to create a chart with additional information, similarly as discussed in this question:
https://www.scichart.com/questions/question/correlating-metadata-with-datapoints/
It works fine for simple information, such as enums, that I can cast into a double (see also the example provided in the question mentioned above).

However it seems that there is a restriction on the generic class XyzDataSeries.
Whenever I try to use a different data types for TY and TZ

XyzDataSeries<DateTime, double, int>

I get the following exception at runtime:

SciChartSurface didn’t render, because an exception was thrown:

Message: Das Objekt des Typs "Abt.Controls.SciChart.Wpf.StoreEditor1[System.Int32]" kann nicht in Typ "System.Collections.Generic.IList1[System.Double]" umgewandelt werden.

  Stack Trace:    bei Abt.Controls.SciChart.Wpf.NetworkResolver1.Execute(ResamplingMode resamplingMode, IndexRange pointRange, Int32 viewportWidth, Boolean isFifo, Boolean isCategoryAxis, IList xColumn, IList yColumn, Nullable1 dataIsSorted, Nullable1 dataIsEvenlySpaced, Nullable1 dataIsDisplayedAs2d, IRange visibleXRange)
   bei Abt.Controls.SciChart.Model.DataSeries.XyzDataSeries`3.ToPointSeries(ResamplingMode resamplingMode, IndexRange pointRange, Int32 viewportWidth, Boolean isCategoryAxis, Nullable1 dataIsDisplayedAs2D, IRange visibleXRange, IPointResamplerFactory factory)
   bei Abt.Controls.SciChart.Wpf.MethodManager.ListStream(AxisCollection urlAvailable, IRenderableSeries lockInitialized, RenderPassInfo valuesHeader, IPointResamplerFactory addressMap, IDataSeries& nextName, IndexRange& previousValues, IPointSeries& syncObjectHandle)
   bei Abt.Controls.SciChart.Wpf.MethodManager.ListStream(ISciChartSurface urlAvailable, Size lockInitialized)
   bei Abt.Controls.SciChart.Wpf.MethodManager.RenderLoop(IRenderContext2D renderContext)
   bei Abt.Controls.SciChart.Visuals.SciChartSurface.DoDrawingLoop()

Sorry for the german. The message translates to:

The object of type [...] cannot be casted into type [...]

I’m quite confused about this. It works nicely, if I use the same data types for TY and TZ .

XyzDataSeries<DateTime, double, double>
XyzDataSeries<DateTime, int, int>

This is not what I would expect from a generic type with three types.
If the types for Y and Z values need to be of the same type, the class should rather look something like this: XyzDataSeries<TX, TYZ>.
The API documentation does not mention anything about this. It only states that the types need to be IComparables, which seems not the full truth.

This is a problem for me, because I have more complex metadata than a double, which I want to reference over the Z value.
But I don’t want to use an index of type double. I’d rather use a GUID or even add the metadata object itself as Z value.

Is this by design or is this something that could be fixed in the future?

Do you have a suggestion how to best reference point related metadata (without having to implement my own DataSeries)?

0 votes
10k views

Hi,

I set up my xAxis (DateAxis) with a minimalZoomConstrain = DateInterval.fromMinutes(3.0). And here is my PinchZoomModifier:

val pinchZoomModifier = PinchZoomModifier().apply {
        direction = Direction2D.XDirection
        receiveHandledEvents = true
    }

The chart works great and restricts the zoom to three minutes, but I get this error to the console whenever I zoom in to reach the minimalZoomConstrain:

E/Axis: VisibleRange was restored to its last valid value. The range class com.scichart.data.model.DateRange (Min = Tue Jan 09 01:52:40 GMT+01:00 2020, Max = Tue Jan 09 01:55:40 GMT+01:00 2020) either is not valid or it doesn't satisfy MinimalZoomConstrain or MaximumZoomConstrain. To provide fallback value please override AxisCore#coerceVisibleRange(IRange) method

How can I get rid of this error? Is there a way to tell the PinchZoomModifier that there is a min limit?

1 vote
11k views

I’m trying to implement sciChart to flutter app (Android). It gets pretty confusing when trying to make it work. Anyone have examples how to make SciChart to work on Flutter? Adding the license works just fine. Only need for ECG chart for now. Thanks.

0 votes
7k views

Hi there.

It’s has been asked here:
https://www.scichart.com/questions/question/custom-annotation

So, Is it possible to draw dashed line annotation at the current version 1.2.3.982?

Best regards,
Sushynski Andrei

0 votes
8k views

Hi, i am developping a spectogram, screenshot : https://i.ibb.co/7CPTZbg/screenshot-framed.png

I get the same result from your showcase, now there is some things i want to change but can’t resolve to know how to :
– How can i change data direction to spread from left to right ? (currently right to left)
– How can i clear FastUniformHeatmapRenderableSeries ? Method clear doesn’t work
– How can we set width of FastUniformHeatmapRenderableSeries’s layout to be fixed to a specific seconds number ? (example : there is 10 seconds of data between left and right)

Thank you,
Wavely

0 votes
7k views

I need to create plenty of reports and presentations (word/power point) and graphics is a key component
Unfortunately Bitmap does not make the work, I use EMF format from other applications that can be inserted
beautifully in word/power point,

any plans to support EMF in the nearer future? I think it is a key format for reports and ppt

Thanks and Regards

William

  • wmacoder asked 8 years ago
  • last active 8 years ago
0 votes
9k views

I’m having some difficulty with the RolloverData PropertyChanged notification. I have attached an event handler based on your code, which is triggered as I mouse over the chart, but the SeriesInfo collection always has a count of 0. The data bound rollover block does update correctly.

Any ideas?

1 vote
4k views

I am trying to listen changes in pie chart segment selections. I am adding the listener like so:

piesegment.addChangeListener { changedSegment in
    print("changed selection \(changedSegment.isSelected)")
 } 

The closure is never called however. My first question is: Is this the right way of doing this? In Android I implement the PieSegmentChangeListener interface and do an addIsSelectedChangeListener on the segment. In ios the SCIPieSegmentChangeListener is not a protocol. My second question is: How can I create a my own listener like in android and add it to the segment?

By the way support should not be exired!!!!

Showing 51 - 100 of 4k results

Try SciChart Today

Start a trial and discover why we are the choice
of demanding developers worldwide

Start TrialCase Studies