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

0 votes
22 views

Is it possible to display the X Axis peak Value on SciChartRadarSurface?
I tried to use Text Annotation but I don’t know how to use it on SciChartRadarSurface
I tried also to use RadarAxisPanel but I did not find examples that explain how to use it and if I can insert Text annotations inside
Please help
Thank you

0 votes
24 views

Hello,

I have been trying to figure out how can one have datetime support for Polar x axis? Is this already supported? If yes, how?

Looking forward for the response!

0 votes
23 views

We have an application where we have different tabs to control the content of one SciChartSurface. Each tab have its own view on data with different visible YAxes and LineSeries which are changing the surface. The goal is to have one history for each view. For right now the ZoomHistoryManager resets after each change. Is it possible to store the history of each view?

0 votes
42 views

Has anyone encountered this before?

XamlParseException: Unexpected record in Baml stream. Trying to add to SciChartSurface which is not a collection or has a TypeConverter.

<DataTemplate x:Key="SciLineChartTemplate"><Grid><s:SciChartSurface ...

0 votes
23 views

I am trying to plot a column plot. However, my column with is always 0. In debugging, I find that dataPointWidth = Math.Abs(xCoordinateCalculator.GetCoordinate(DataSeries.MinXSpacing) – xCoordinateCalculator.GetCoordinate(0)); is called. However, the DataSeries.MinXSpacing is 0. My XValues are just incremental numbers as 0, 1, 2, 3.. 90. What would cause DataSeries.MinXSpacing to be 0? It should be 1.

0 votes
31 views

I’m trying to add more intervals into the legend of the Heat map. So far it only displays 10, 8, 6, 4, 2, 0, but I would like to edit it to display the numbers 0-10. From what I understand, the TickProvider API only works with an X or Y axis so I’m not sure if there’s a way to add the function.

0 votes
28 views

I’m using the Ternary Chart to plot three variables of interest.

Technically, a ternary plot should have three variables that sum to a constant.

However, the domain of my variables includes negative values.

Now, in theory, the linear space of the domains of each of the variables could be mapped onto R => [0,100].
From this, we can then compute the sum and normalize each variable by this sum to produce a [0, 100] value for each of the axes.

The problem is, I lose the original domain values prior to the transformation.

So my question is, can I use negative values for the ternary plot?

Thanks.

0 votes
33 views

Hello,
My requirement is to plot 3 dimensional data(x,y,z) in 2 D WPF chart. I know this is possible with bubble chart. But , i would like the plot to be seen as shown in the attached image file. I would like have Crossmark point marker instead of bubble(ellipse marker?) and crossmark should not be scaled according to z value(no scaling of point marker and it should be of default size ).
Please let me know how to achieve this one?

  • deepak b asked 2 weeks ago
  • last active 2 weeks ago
0 votes
45 views

Hi,
I’m using SciChart version 5.1.1.11473, runtime v4.0.30319 and SciChartEx 1.0.0.0.
I am having difficulty using LineArrowAnnotation and I need some help to solve my problem.

My problem is when I use the zoom and the size of the arrows.
When I zoom I need the length of the arrow not to change.
What process do I need to do to make the arrow the same size even when zoomed in?

. Below is a brief explanation of the program.
I made a linear graph where in certain points I show arrows down or up on the screen. (see Image01 below)
enter image description here ( Image01 )

With “HeadLength” and “HeadWidth” I can make the arrow head, the arrow body I am using “Y1” and “Y2”. (see Image02 below)
enter image description here ( Image02 )

When I zoom, I noticed that the arrow head does not change, but the length of the arrow does.
I need this length of arrow not to change like the head of the arrow. (see Image03 below)
enter image description here ( Image03 )

Finally, I apologize for my lack of knowledge of the products of your lordships.
And thanks for the attention paid.
Waiting for an answer.

Hamilton.

0 votes
49 views

Hello,

I recently upgraded from v3 to v5, and I cannot figure out what to replace ToolTipLabelTemplate types with now that it’s missing. I saw in a different question like this that you directed them to look at ToolTipModifier documentation, and I have looked there, but I can’t find anything helpful for this problem. Could you please direct me to an example or explain what to change for a ToolTipLabelTemplate to make it work in v5.

Thanks,
Rachel

0 votes
0 answers
48 views

Hello,

I am trying to develop a WPF Chart with multiple X and Y Axes. I am able to achieve this perfectly and also I am able to remove a data series using the example available:

WPF Chart Add or Remove DataSeries

But, I am unable to remove the corresponding axes of the series whenever it is removed.

I am using the same logic used to remove a series:

sciChart.XAxes.Remove(sciChart.XAxes.GetAxisById(sampleId));

But, I am unable to get the expected result.

Am I missing something?

0 votes
0 answers
64 views

Currently the color of 3D axis plane can only be filled with one color by the property AxisPlaneBackgroundFill. We have a requirement that gradient color should be used there. Is it possible to achieve these through styling or templating, or otherwise? If not, could this possibly be implemented in the future?

0 votes
56 views

Hi,
Is it possible to append different size of parameters in xyzDataSeries<double,double,double>?
My requirement is to plot a bubble chart where size of X and Z array are same but Y array is of different size.
for ex, i need to append x[10], y[5], z[10] in xyzDataSeries<double,double,double>
please let me know if its possible or not

  • deepak b asked 3 weeks ago
  • last active 3 weeks ago
0 votes
70 views

Hi

I would like to modify the DateTimeAxis to have the date shown static below the time.
Currently I can’t figure out how to code something like that.

The basic idea is to have the date label

a) on the left and right of the date axis and moving with midnight
b) as bar below the time stamp

Is it possible to modify the DateTimeAxis to achieve both use cases?

To visualize, what I’m trying to achieve find some mocks below (neglect the time, midnight just moved to 18:19:30 :-))

0 votes
70 views

I have multiple charts that receive data and sometimes the data needs to be reset and the plotting needs to start over.

When I reset the data I set it to: new XyDataSeries<TimeSpan, double>();

This works great for the data, but the charts don’t refresh. I have to close the window with the chart and reopen it in order to get the new data to show up in the chart.

Is there a command I can send the charts that will clear the existing data and start plotting the new data without having to reopen a window?

Thanks!

  • Greg Knox asked 3 weeks ago
  • last active 3 weeks ago
0 votes
67 views

Hi

We have a lot of data coming into our software and are using a lot of XyDataSeries<DateTime, double> data series.

There are maybe 50 data series with the same X values and different Y values. So when the data series length is in the millions – there is an enormous memory overhead – 50 x maybe 5000000 x DateTime.

Is there a way to share the X values (or Y values) of a data series with another series?

/Flemming

0 votes
82 views

Currently, I’m using a uniform heatmap to display images taken from a monochrome camera. I’m using a RubberBandXyZoomModifier to allow to user to zoom in on a region of interest in the image. The SciChartSurface is set to be 640×480 (the image size) and is hosted in a Viewbox, so it’s size scales uniformly with the grid that it’s in. The problem I’m facing is that when I zoom in, the zoomed part of the image stretches to fit the 640×480 size, changing the pixel aspect ratio, but I want the pixel aspect ratio to stay constant so they are all square. What I want to happen is that extra space is added either on the top/bottom or left/right of the zoomed part of the image so the pixel aspect ratio stays constant. See the attached image for a visual explanation. I think I either need to change the SciChartSurface size or the GridLinesPanel size to match the zoomed area size, but I’m not sure how to go about doing that. Is there a way to achieve this? Thanks!

0 votes
0 answers
78 views

Hi ,

Is there any property by which I can stop the drag behavior of a tooltip on Scichart ? I have a reference point marker on the graph which displays a tooltip. I want this tooltip to be not able to move, since this is a reference point marker.

Thanks,
Harish

0 votes
88 views

Hi,
Is it possible to plot scatter chart with xyzDataSeries using Scichart WPF charts.
My requirement is to plot three variants of data (xyz), where x & y are axis, z is data to plot
Thanks
deepak

  • deepak b asked 4 weeks ago
  • last active 4 weeks ago
0 votes
141 views

Currently, we are creating something like Point Cloud which is updated in real time in the project (40ms cycle) using 3D ScatterSeries.
However, in Dataseries, trying to set the color of individual pointers using PointMetadata3D’s VertexColor is too slow.
If we update only the coordinates without changing the color, we get the speed we want. I do not understand that changing the color value will seriously slow the process.
I want to know if there is a way to handle this phenomenon quickly.

0 votes
120 views

I try to use scichart for monitor two unrelated signal in one FastLineRenderableSeries,but it renders slow when points length increase,in demo and document,the XyDataSeries is an X ordered sequence to guarantee render fps,but my XyDataSeries is an unordered sequence,
do there any suggestion for this situation?

  • zj w asked 1 month ago
  • last active 4 weeks ago
0 votes
109 views

I have implemented a user control with a SciChartSurface as well as a SciChartLegend for time signals and an other user control with SciChartSurface for spectral bins (for reusability purpose). In another user control, I use these two user controls together and want to synchronize the Y-axis sizes on the left. In this use case the VerticalChartGroup has no effect. How can I synchronize the Y-axis sizes?

  • Tobias asked 1 month ago
  • last active 1 month ago
0 votes
136 views

I want to display a line series chart with 3500 series. But the application hangs 20-30 seconds because SciChart is doing something in the UI thread. I’ve read your article “https://www.scichart.com/performance-improvements-scichart-wpf-v5-1/” and set the extension property s:PerformanceHelper.EnableExtremeDrawingManager=”True” and s:PerformanceHelper.EnableExtremeResamplers=”True”. But there is no improvement!
You can reproduce this issue using your example “WaterfallChartDemo” and increase the series count from 50 to 3500.

Why s:PerformanceHelper.EnableExtremeDrawingManager=”True” and s:PerformanceHelper.EnableExtremeResamplers=”True” has no effect?

  • Tobias asked 1 month ago
  • last active 1 month ago
0 votes
97 views

One of our SciChart licenses in the past was used by an employee who is no longer with the company, so we are not able to have that employee deactivate his license using the Licensing Wizard on his old machine anymore. Is there a way to free this license up so it can be transferred to another employee when work resumes on the project?

Thanks!

0 votes
121 views

Hello,

I am creating a chart which should add a series with its respective X and Y axes on a button click.

I am adding axes as follows:

private void AddYAxis(List<double> yValues)
    {
        var yAxis = new NumericAxis()
        {
            AxisAlignment = AxisAlignment.Left,
            AxisTitle = "Number of Samples (per Series)",
            Id = "first"
        };
        sciChart.YAxes.Add(yAxis);
    }

private void AddXAxis(List<DateTime> xValues)
    {
        var xAxis = new DateTimeAxis()
        {
            TextFormatting = "YYYY-MM-DD HH:mm:ss",
            AxisAlignment = AxisAlignment.Bottom,
            AxisTitle = "Bottom Axis",
            Id = "first"
        };
        sciChart.XAxes.Add(xAxis);
    }

Then, I am adding the renderable series:

 private void AddSeriesClick(List<DateTime> xValues, List<double> yValues)
    {
        var dataSeries = new XyDataSeries<DateTime, double>();
        dataSeries.Append(xValues, yValues);

        var renderSeries = new FastLineRenderableSeries
        {
            Stroke = Color.FromArgb(0xFF, 0x40, 0x83, 0xB7),
            DataSeries = dataSeries,
            StrokeThickness = 2,
        };
        renderSeries.XAxis = sciChart.XAxes.GetAxisById("first");
        renderSeries.YAxis = sciChart.YAxes.GetAxisById("first");
        sciChart.RenderableSeries.Add(renderSeries);
        sciChart.ZoomExtents();
    }

But, I am only able to see the Axis titles and nothing else is rendered in the chart.

Following exception is thrown:

SciChartSurface didn’t render, because an exception was thrown:
Message: AxisCollection.GetAxisById(‘DefaultAxisId’) returned no axis with ID=DefaultAxisId. Please check you have added an axis with this Id to the AxisCollection

Stack Trace: at SciChart.Charting.Model.AxisCollection.GetAxisById(String axisId, Boolean assertAxisExists)
at A.IJ.DB(AxisCollection D, IRenderableSeries I, RenderPassInfo J, IPointResamplerFactory M, IDataSeries& O, IndexRange& S, IPointSeries& T, Int32& AB)
at A.IJ.S(ISciChartSurface D, Size I)
at A.IJ.RenderLoop(IRenderContext2D renderContext)
at SciChart.Charting.Visuals.SciChartSurface.DoDrawingLoop()

The program ‘[17304] SciChart_MultipleXAxis.exe’ has exited with code 0 (0x0).

Can you kindly look into it.

0 votes
123 views

Hi,

I am creating a live chart chromatogram with x-axis as time and y-axis as frequency.

Also, I need to show a chart with the last 5 min of data on the y-axis. for that purpose, we have used “FIFOCapacity” property of DataSeries which hold data for last 5 min which is work perfectly, because there is only single value of y with repect to time.

eg,
x=>1 2 3 4 5 6
y=>3 5 6 3 3 2

With FIFOcapacity=5 in the above example when 6 come to collection 1 is get removed which is expected

FIFO chart is not working when multiple y value is present for a single x value.

eg,
x=>1 2 2 2 3 3 3 4 5 6
y=>3 5 6 3 3 2 5 5 6 1

With FIFOcapacity=5 in the above example when x value 3 come into the collection 1 is get removed from the collection which not expected. (only when 6 (x value) get into collection then 1 get removed is expected)

Could please suggest me any solution if available. Please let me know if there is any information required.

Note: basically I need FIFOCapacity with condition check attributes. I need to clear collection if there is no need of that values because the collection can contain any number of values.

0 votes
97 views

Dear SciChart Team:

Undo and redo functions are incorrect in my application. It didn’t go back to the previous step. My original curve is shown in the attached figure in Figure 1, then I use zoom in to display part of the curve as shown in Figure 2. After that, use undo to return to the previous step from the partial curve(Figure 3). The final result is shown in Figure 4, which is obviously different from Figure 1.

I call “SciChartSurface.ZoomHistoryManager.Undo()” to achieve this function. After execution, the position of the angle of view and the scale of the canvas are not correct. How do I get back to the previous step correctly?

I have two other questions I would like to ask:
1. How do I get the current range of perspective(max/min of X axis and max/min of Y axis) after many drags and zooms?
2. How do I make the scale of the X axis equal to the scale of the Y axis and zoom in/out it at the same scale?

  • Johnny Yeh asked 1 month ago
  • last active 1 month ago
0 votes
108 views

I have placed a VerticalLineAnnotation on chart surface along with AxisMarkerAnnotation on X-Axis. The X1 of axis marker is bound to the vertical line annotation’s X1 so that they can move together.

I have set IsEditable=”True” and DragDirections=”XDirection” for both – the line annotation & its axis marker so that user can drag the line on chart horizontally by holding the mouse on either the vertical line or its axis marker.

The drag operation works fine when user holds the vertical line with mouse and drags it. The mouse pointer and annotation move together happily.

However, the problem occurs when user holds on the axis marker and tries to drag. In this case, the mouse pointer remains way behind and the annotation moves ahead very fast. There is no sync between mouse pointer position and line annotation which becomes very bad experience for user. Is there any way to address this issue?

  • Anil Soman asked 1 month ago
  • last active 1 month ago
0 votes
111 views

Hello,

i have a question concerning a chart with stacked y-axes. As you can see in the first picture (stacked.png) i have a chart with three y-axes and each axis is stacked. What i like to do is to combine for example two axes (e.g. Ch0 and Ch1) and stack those two axes over another axis (Ch2).

However the axes (Ch0 and Ch1) are overlaid as you can see in my picture (overlaid.png). Instead i would like to have the same view for Ch0 and Ch1 like in the not stacked picture (not_stacked.png).

The surface should look like this:

Ch0 Ch1
Ch2

How can i achieve this?

Best regards
Alexander

0 votes
104 views

How can I apply my style and template to my axes if I created the axes as NumericAxisViewModel in code and bound them to my SciChartSurface in my xaml view?

Regards,
Roland

0 votes
109 views

Hello,
Is it possible to plot multiple scatter series in a chart?. When i tried so, only one series was visible.Kindly let me know.
i am using WPF 2D version
Thanks
Deepak

  • deepak b asked 1 month ago
  • last active 1 month ago
0 votes
123 views

Companion question of https://www.scichart.com/questions/wpf/fastlinerenderableseries-handling-of-double-nan-values-where-isdigitallinetrue

We have the same issue/desire with respect to NaNs: we would like to have a similar behaviour, i.e. always render at least one point when there is a NaN. So if we have a sequence p1, NaN, p2, NaN, p3, NaN, …. the chart is not empty (like it is with LineDrawMode.Gaps) or a continuous line (like LineDrawMode.ClosedLines) but a series of points. It could be another mode like LineDrawMode.NonClosedLines or similar.

Or

Is it possible to do it by ourselves? With a CustomRenderableSeries maybe?

0 votes
155 views

Hi,

As part of our evaluation of SciChart a very important point for us is responsiveness, as I mentioned in another post

A point that is causing concerns is that we need to update the UI in a reliable, synchronous, non-deferred way, even if this means blocking the user input. So for us the only method that works is to user RenderPriority.Immediate.

Unfortunately it seems that for complex data were the rendering starts to struggle SciChart just skips updates to the view. We tried to manually force the update using code, but we have the same problem described here (i.e. RenderPriority.Manual does not work).

So, how can we be sure that the UI gets updated every single time we update a DataSeries, regardless of load, user input, whatever?

0 votes
145 views

hello, i have a problem, my TestAnnotation class X Y is null when creating.

code:

public class TestAnnotationViewModel : CompositeAnnotationViewModel
{
    public override Type ViewType
    {
        get { return typeof(TestAnnotation); }
    }
}

public class TestAnnotation : CompositeAnnotation
{
    public TestAnnotation() : base()
    {
        DefaultStyleKey = typeof(CompositeAnnotation);
    }

    public override void Update(ICoordinateCalculator<double> xCoordCalc, ICoordinateCalculator<double> yCoordCalc)
    {
        base.Update(xCoordCalc, yCoordCalc);

        //i want to do some thing, but X1 Y1 X2 Y2 is null, and i get exception.
        //this code from Composite Annotations Examples
        if (Y1.CompareTo(Y2) > 0) // <===exception
        {
            MeasureText.VerticalAnchorPoint = VerticalAnchorPoint.Top;
            MeasureText.Margin = new Thickness(0, 5, 0, 0);
        }
        else
        {
            MeasureText.VerticalAnchorPoint = VerticalAnchorPoint.Bottom;
            MeasureText.Margin = new Thickness(0, -5, 0, 0);
        }
    }
}

version v5.3.0.11954

0 votes
148 views

Hi,

I’m trying to follow the instructions here: https://www.scichart.com/documentation/v5.x/Tutorial%2007%20-%20Adding%20Annotations.html
to create a subclass of CustomAnnotation. I have copied the attributes given in the example (VerticalAnchorPoint=”Bottom” HorizontalAnchorPoint=”Center”) but I still get the error “An attribute name is missing” on anything I put after the attributes. Are there other attributes that may be required for CustomAnnotation, not given in this example?

Thanks,
Rachel

0 votes
176 views

My group is evaluating SciChart for high performance realtime charting. We are testing line renderer with XyDataSeries.
We were able to get good performance, but we need to squeeze more and our scenario is a bit different from how XyDataSeries is used.

To make a long story short, we cannot append, because our application has 2 strict requirements:

  • every data refresh we need to ditch the whole dataset and replace it
    with a new (usually larger) one (no append)
  • we need to display each refresh immediately, even if it means delaying user input (so Immediate. Or Manual with a refresh after
    every step).

which means put in XyDataSeries a new set of points at every step. This means either do:

var dataSeries = new XyDataSeries<double, float>(samples.Length)
dataSeries.Append(domain, samples);
m_renderableSeries.DataSeries = dataSeries;

or :

dataSeries.Clear();
dataSeries.Append(m_domain, samples);

(btw, the first one is slightly faster, 190ms vs 240ms to draw 10 million points)

Which is obviously working against how XyDataSeries is implemented.
A faster way would be to just do

var dataSeries = new ReadOnlyXyDataSeries(domain, samples);
m_renderableSeries.DataSeries = dataSeries;

Where ReadOnlyXyDataSeries just takes the samples array and without any copy makes it available to the renderer.
So I implemented ReadOnlyXyDataSeries as a IXyDataSeries<double, float>.

To my surprise however this performs much worse (900ms to draw 10
million points), while it should perform better (it is really just a
XyDataSeries without copy)

UPDATE: This is not true: I was setting IsSortedAscending = false on sorted data. Once I put it to true, preformances are back to exactly the same performance as XyDataSeries . Which is good but not stellar.

(hack time) I know there is room for performances, because I made the following (hacky, brutal, very bad) thing:

var internalList = (ISciList<float>)dataSeries.YValues;
Array.Copy(samples, internalList.ItemsArray, samples.Length);

instead of the Clear/Append pair, and it is much faster (30ms are shaved off). No copy should be even faster.

Obviously I am missing something. So, what am I missing? How should I implement a custom IXyDataSeries in a fast way? Is there another way?

0 votes
122 views

I downloaded the Scichart example package from Github and tried to build some of the apps. But I got many errors related to the Animation library in RenderableSeries namesapce.

On the lines “using SciChart.Charting.Visuals.RenderableSeries.Animations;”, Visual Studio will give an error saying “The type or namespace named “Animiations” does not exist in the namespace SciChart.Charting.Visuals.RenderableSeries (are you missing an assembly reference?)”, although I already added all the refeerences needed for SciChart. What am I missing? I have the full version of Scichart for WPF.

Thank you

Kevin

0 votes
0 answers
129 views

Hi,

I would like to know if there’s a way to show a list of Annotations for which the coordinates are stored in lists in my c# code. I can bind the items in the lists like this:

s:SciChartSurface.Annotations …>
s:CustomAnnotation X1=”{Binding XList[0]}” Y1=”{Binding YList[0]}” …/>
s:CustomAnnotation X1=”{Binding XList[1]}” Y1=”{Binding YList[1]}” …/>
s:CustomAnnotation X1=”{Binding XList[2]}” Y1=”{Binding YList[2]}” …/>
s:CustomAnnotation X1=”{Binding XList[3]}” Y1=”{Binding YList[3]}” …/>
/s:SciChartSurface.Annotations …>

Is there a way to do this with something like ItemsControl?

Thanks,
Rachel

0 votes
135 views

Hello,

in the attached solution i tried to extend the chart in your MVVM-Tutorial an overview control as it is shown here: https://www.scichart.com/example/wpf-chart-example-scroll-chart-using-overview-control/
However i get multiple binding exceptions that i not really understand.

I would be very thankful if you could help me out.

Best regards
Alexander

0 votes
0 answers
136 views

Hello,

i have a custom DateTimeAxisViewModel and want to set major and minor ticks by user input. If the user sets valid values i use following code:

AutoTicks = false;
MajorDelta = TimeSpan.FromSeconds(USERINPUT);
MinorDelta = TimeSpan.FromSeconds(USERINPUT);

Everything works fine. If the user sets an invalid input i want to automatically calculate major and/or minor ticks. My idea was to use the DateTimeTickProvider and call GetMajorTicks()/GetMinorTicks() and then use the result to set the delta like in the code example above.
However GetMajorTicks()/GetMinorTicks() need IAxisParams as input. I couldn’t find IAxisParams as a member of my DateTimeAxisViewModel so i tried this:

public class CustomAxisParams : IAxisParams
{
    public IRange GetMaximumRange()
    {
        throw new NotImplementedException();
    }

    public IRange VisibleRange { get; set; }
    public IRange<double> GrowBy { get; set; }
    public IComparable MinorDelta { get; set; }
    public IComparable MajorDelta { get; set; }

    public AxisParams(IRange visibleRange, IRange<double> growBy, IComparable minorDelta, IComparable majorDelta)
    {
        VisibleRange = visibleRange;
        GrowBy = growBy;
        MinorDelta = minorDelta;
        MajorDelta = majorDelta;
    }
}

public class CustomDateTimeAxisViewModel : DateTimeAxisViewModel
{
    private TimeSpan GetAutoMajorDelta()
    {
        var dateTimeTickProvider = new DateTimeTickProvider();
        var axisParams = new AxisParams(VisibleRange, GrowBy, MinorDelta, MajorDelta);
        var majorTicks = dateTimeTickProvider.GetMajorTicks(axisParams);

        if (majorTicks.Count < 2)
        {
            return TimeSpan.Zero;
        }

        // return diff between majorTicks[0] and majorTicks[1]
    }
}

This does not work because GetMajorTicks() returns always an empty list. How can i achieve the desired behaviour?

Thanks for your help.
Alexander

0 votes
122 views

I’ve read the TooltipModifier article but I don’t believe the method discussed in this article will work for me. The renderable series of my chart is set in within my ViewModel; therefore the described method of setting the TooltipModifier using the following syntax will not work for me since my series are not defined in the XAML.

<s:SomeSeriesType s:TooltipModifier.TooltipTemplate="{StaticResource XyTooltipTemplate}" />

Instead I am using the following.

<s:SciChartSurface RenderableSeries="{s:SeriesBinding SeriesInMyModel}" />

What can I do to overcome this problem?

0 votes
0 answers
131 views

Hi there,

I have a DateTimeAxis, when I add an Annotation, OnAnnotationCreated is called, and the NewAnnotationViewModel within the AnnotationCreationMVVMArgs contains an X1 value that is an int instead of the DateTime it’s supposed to be.

As you can see in all of the attached images, X1 should logically be a DateTime, but it’s not.

The XAxisID on the NewAnnotationViewModel is correct.

0 votes
128 views

i have a scichart that is rendering some analog values with a scrollbar in the Y-axis. The problem is the scrollbar needs to reset so that the selected range can be changed when the values change to a different scale or offset. However, the scrollbar remembers the selected range and sticks to it. The Y axis is set to AutoRange =”Always” but that does not help either.

  <s:SciChartSurface x:Name="sciChart">
                <s:SciChartSurface.RenderableSeries>
                    <s:FastLineRenderableSeries Stroke="{ets:ETStyleRef ResourceKey=RenderableSeriesColor}" StrokeThickness="2" DataSeries="{Binding DataSeries}" />
                </s:SciChartSurface.RenderableSeries>
                <!--Annotation-->
                <s:SciChartSurface.Annotations>
                    <s:TextAnnotation FontWeight="Bold" Margin="2" Text="{Binding Label}" Padding="10,0,0,0"/>
                </s:SciChartSurface.Annotations>
                <!--X Axis-->
                <s:SciChartSurface.XAxis>
                    <s:TimeSpanAxis GrowBy="0.0, 0.1" AxisAlignment="Bottom" VisibleRange="{Binding DateRange, Mode=TwoWay}" Visibility="{Binding XAxisVisible, Converter={StaticResource boolVisibilityConverter}}" DrawMajorGridLines="True" DrawMinorGridLines="True" DrawMajorTicks="True" DrawMinorTicks="True" DrawLabels="True"/>
                </s:SciChartSurface.XAxis>
                <s:SciChartSurface.YAxis>
                    <s:NumericAxis DrawMinorGridLines="True" DrawMinorTicks="True" AutoRange="Always" TextFormatting="0.#######" AxisAlignment="Left">
                        <s:NumericAxis.GrowBy>
                            <s:DoubleRange Max="0.1" Min="0.1" />
                        </s:NumericAxis.GrowBy>
                        <s:NumericAxis.Scrollbar>
                            <s:SciChartScrollbar x:Name="chartScrollbar" Width="16" />
                        </s:NumericAxis.Scrollbar>
                    </s:NumericAxis>
                </s:SciChartSurface.YAxis>
                <s:SciChartSurface.ChartModifier>
                    <s:ModifierGroup>
                        <common:RubberBandXyZoomModifierEx ReceiveHandledEvents="True" IsEnabled="True" ZoomExtentsY="True" IsAnimated="False" />
                        <s:ZoomPanModifier ReceiveHandledEvents="True" IsEnabled="True" ExecuteOn="MouseRightButton" XyDirection="XDirection" ZoomExtentsY="True" />
                        <s:MouseWheelZoomModifier ActionType="Zoom" Tag="FirstYAxis" ReceiveHandledEvents="True" XyDirection="YDirection"/>
                        <s:YAxisDragModifier Tag="FirstYAxis" ReceiveHandledEvents="True" />
                        <s:ZoomExtentsModifier IsAnimated="False" XyDirection="YDirection" ReceiveHandledEvents="True" />
                    </s:ModifierGroup>
                </s:SciChartSurface.ChartModifier>
            </s:SciChartSurface>
  • SPS asked 2 months ago
  • last active 2 months ago
0 votes
0 answers
121 views

An empty chart is displayed if a custom axis id is configured for Heatmap series. Only “DefaultAxisId” seems to be supported.
Please suppport custom axis id with Heatmap series (with MVVM) to achieve the same behavior as other series types.

0 votes
162 views

When I enter PathAnnotation in the xaml, I get the error “The type ‘s:PathAnnotation’ was not found.” I do have the following Annotation types available:
– AxisMarkerAnnotation
– BoxAnnotation
– CustomAnnotation
– HorizontalLineAnnotation
– LineAnnotation
– LineArrowAnnotation
– SeriesValueAxisMarkerAnnotation
– TextAnnotation
– VerticalLineAnnotation

I want to be able to make a star shape annotation, and PathAnnotation seemed to be the only way to do this. Please let me know if there’s another way to do this.

Thanks,
Rachel

0 votes
0 answers
154 views

Using MVVM I am trying to force my 2nd Y axis to a specific min and max value. I’m setting the AutoRange to never and the VisibleRange to a DoubleRange(min, max) in my ViewModel in a function named ‘SetAxes(min, max)’.

The behavior seems to be that it works the first time I add a measurement to my chart. On subsequent updates to the chart (when I tell the chart via a method in my model to change it’s axes) it doesn’t update. Here is what I have…

        public void SetAxes(double min, double max)
        {
            RightAxisAutoRange = AutoRange.Never;
            RightAxisVisibleRange = new DoubleRange(min, max);
        }

        // 2nd axis range
        private IRange _rightAxisVisibleRange;
        private AutoRange _rightAxisAutoRange;
        public IRange RightAxisVisibleRange 
        { 
            get { return _rightAxisVisibleRange; }  
            set { SetProperty(ref _rightAxisVisibleRange, value); } 
        }
        public AutoRange RightAxisAutoRange  
        { 
           get { return _rightAxisAutoRange; } 
           set { SetProperty(ref _rightAxisAutoRange, value); } 
       }

       <!-- 2nd Y Axis -->
            <s:NumericAxis AxisTitle="{Binding Path=RightAxisTitle}" 
                           Id="YAxis2"
                           AxisAlignment="Right"
                           Visibility="{Binding Path=RightAxisVisibility}"                               
                           FontFamily="Arial"
                           VisibleRange="{Binding Path=RightAxisVisibleRange}"  
                           AutoRange="{Binding Path=RightAxisAutoRange}"
                           GrowBy="0.1, 0.1" 
                           Style="{DynamicResource ResourceKey=RatioAxisStyle}"
                           s:CursorModifier.AxisLabelContainerStyle="{StaticResource CursorModAxisLabelStyle}"
                           s:CursorModifier.AxisLabelTemplate="{StaticResource CursorModAxisLabelTemplate}" />

Don’t get hung up on the “SetProperty” function in my setters. That’s just an internal mechanism I use in a base class which implements INotifyPropertyChanged.

What I’ve noticed is that the moment I decide to zoom the right Y axis refuses to ever go back to it’s original range. I suppose a way to turn off 2nd Y axis zooming would resolve my problem?

0 votes
226 views

Hello,

how can i implement a vertically stacked y axis chart like in your example (WPF Chart Vertically Stacked YAxis) with MVVM and a varying number of y axes. Your example has a fixed number of y axes and the needed YAxesPanel is directly implemented in your xaml code. What is the best way to achieve the same result with a varying number of y axis?

Best regards
Alexander

0 votes
154 views

Dear SciChart Team:

My application interface is shown in the attached file. There are four Y-axis and one X-axis. One curve corresponds to one Y-axis. I use the dragging of two HorizontalLineAnnotations and Y1 subtraction to calculate Diminish, but this can only get HorizontalLineAnnotation. Dominish with the Y axis specifying YAxisId, if I want to get Diminish for all Y axes at once, what is the recommended method?

  • Johnny Yeh asked 2 months ago
  • last active 2 months ago
0 votes
143 views

To avoid arrays in LOH the UniformHeatmapDataSeries should use IList[] or Span instead of TZ[,].

  • Tobias asked 2 months ago
  • last active 2 months ago
0 votes
161 views

Hi:

My name is Harold Ramírez and I have a question I would like you to answer because I don’t find any doucmentation about it online.

I have a WPF application with several charts, some of them in 3D. These 3D charts have the X axis in horizontal, Y in vertical and the Z in depth. I want only to keep the labels on the X and Y axis, on the left and bottom of the chart.

The only documentation I have found is this page: https://www.scichart.com/documentation/v5.x/webframe.html#Showing%20Axis%20Labels%20on%20one%20side%20of%20the%203D%20Chart.html, and only shows how to make it in XAML, but I need it to do it programatically in C#.

Thank you for your time.

Harold.

Showing 1 - 50 of 2k results