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

0 votes
0 answers
7k views

HI,
My code works well with 3.1. Today I switch to 3.2. Get exception, please see the attached file.

my code is based on SciChart Trader. When mouse click the chart. the exception happens.

3 votes
13k views
  • bstapylton asked 10 years ago
  • last active 8 years ago
1 vote
0 answers
8k views

Hallo once again,

Im trying to set/control my YAxis visiblerange. With good help I was able to come up with the piece of code below. However one more problem arrives with this solution. When i double click on the chart and there is no fixed visiblerange to set, then the corresponding YAxis must go back to normal (sse code). However this has bugs undesirably i must doubleclick twice in order for the YAxisRange to go back to normal. The first time does change the YAxisRange but not good. The second time finish the job correctly.
Does anyone has any idea why this happens? It should go back to normal from the first doubleclick.

    public class CustomZoomExtentsModifier : ChartModifierBase
    {
        public override void OnModifierDoubleClick(ModifierMouseArgs e)
        {
            base.OnModifierDoubleClick(e);

            //This piece of code is for setting the YAxis Limit, the limmit is Set only OnZoomExtends           
            
                if (this.YAxis.IsFixedRange)
                {
                    this.YAxis.VisibleRange = RangeFactory.NewWithMinMax(this.YAxis.VisibleRange, this.YAxis.YMinRange, this.YAxis.YMaxRange);
                }
                else
                {
                    var newYRange = this.YAxis.GetMaximumRange();
                    if (newYRange != null && newYRange.IsDefined) this.YAxis.VisibleRange = newYRange;
                }

            // And we must calculate the VisibleRange of X Axis, otherwise it will not zoom back to normal
            var newXRange = this.XAxis.GetMaximumRange();
            if (newXRange != null && newXRange.IsDefined) this.XAxis.VisibleRange = newXRange;
            
        }
    }
  • bochelie asked 8 years ago
  • last active 8 years ago
0 votes
10k views

I’m trying to have a two charts which have a x-axis points (datetime) that doesn’t intersect. And i want charts was synchronized like this:
enter image description here

How you can see here upper chart doesn’t have a point at 10.12.2013, but lower has. Can i reach same effect by SciChart?

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

Hello, suppose I want to make a real-time rollover tooltip that displays not only the y value but also the x value, how do I do it?
I currently have a rollover modifier which gives me the y values in RolloverModifier.RolloverData.SeriesInfo.Value. How do I find out the corresponding value on the X Axis?

I have also attached some images where you can see what I have now and what I want to do..

0 votes
8k 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
                        }
                     }
                  }
               }
0 votes
6k views

In the oil industry a well survey is usually displayed by a series of points connected by arcs. An arc is very close to the actual path a drill will take between points on a survey. Survey points are about 90 feet apart, so connecting them with a straight line looks ugly. Which method should I override to accomplish this?

If I get ambitious, I may also consider using Bezier curves to connect points, as this could be useful to represent geological boundaries as a background for my well survey plots.

I have attached a picture showing the type of plots I need to make. The red line is a survey and the background represents geological layers. The survey is presently connected with straight lines, which makes it difficult to determine precisely where the survey intercept the boundaries.

0 votes
5k views

Hi

I have to build a financial chart, and the Y label must be always multiplied by 0.25 , as you can see in the image attached.
I didn’t find how to reach this goal in the documentation and in the knowledgebase articles either.

Could you please help me?

  • lorenzo522 asked 7 years ago
  • last active 7 years ago
0 votes
7k views

XyDataSeries when querying for series’ XMax on a series with no values, I get DateTime.MinValue, and when querying for XMin on a series with no values, I get DateTime.MaxValue. Shouldn’t it be the other way around?
Same thing for YMax and YMin on that series… I get the negative number as the YMax and viceversa.

0 votes
0 answers
8k views

SciChart v2.0.0.2718 Beta 2!

SciChart v2.0 Beta 2 is here! This is the first public Beta after a private Beta to some of our customers. After a stabilisation period we will be going to full production release so please give us your feedback.

Finally, please give us your feedback on SciChart v2.0! If you require an extended trial key in order to view it, please contact us and we will gladly oblige.

New Features at a glance include:

  • Box Plot, Error Bars, Bubble Chart, Fan Chart
  • Heatmap / Spectrogram
  • Stacked Column Chart, Stacked Bar Chart, Stacked Mountain Chart, Stacked Columns (side by side)
  • No more DataSeriesSet, MVVM API improvements
  • Unlimited, Multiple X-Axes
  • Swap X-Y axis (rotate chart)
  • New PointMarker API
  • Support for more DataTypes in DataSeries (ushort, short, uint, byte, sbyte, TimeSpan)
  • New TimeSpanAxis
  • New Axis Interactivity API
  • Alternative, Sub-pixel (High Quality) renderer
  • High Performance Axis Bands, High Performance Dashed Line support (StrokeDashArray)
  • Gradient Brush support for Column, Candlestick, Mountain, Box Plot and Stacked Chart types
  • PaletteProvider now works on Line Series (Colors lines point by point)
  • Support for custom themes via IThemeProvider
  • Faster rendering in multiple axis scenarios
  • Plugin renderer architecture
  • Exceptions and renderer error codes – ‘Why didn’t SciChart render’ reason is output to Console
  • Window
  • New! online API documentation (work in progress)
0 votes
6k views

I just found that if you have two y-axis on your graph, you need to define the YAxisId for your CustomAnnotation. Otherwise, it would look like the Y1 property does not work.

Posting here in case someone else run into the same problem I had.

<SciChart:CustomAnnotation
                AnnotationCanvas="BelowChart"
                CoordinateMode="Relative"            
                Opacity="0.50"          
                HorizontalAnchorPoint="Right"
                VerticalAnchorPoint="Bottom"
                X1="0.99"
                Y1="0.99" 
                YAxisId="GroupAAxisY">
  • Kwokon Ng asked 7 years ago
  • last active 7 years ago
0 votes
9k views

Hello again,

ChartModifiers do not work if bound to a collection in the Viewmodel. If specified in XAML everything works fine (SingleTabControl.xaml)

Best regards,
Robin

1 vote
0 answers
5k views

Hi,

I previously asked a question about a flickering chart. (https://www.scichart.com/questions/question/flickering-chart)

After stripping down my application I think I have found the root cause, and the information in that question seem to be completely irrelevant. If it is ok I’d rather delete that question.

I have extracted the relevant code out of my application and put it in the attached test application. After clicking the start button data should be added in real time. To reproduce change the visible area to a part of the chart and then hold to right scrollbar grip and move it, don’t release, just hold still, the chart starts to flicker.

0 votes
8k views

Hi,

I created a chart legend based on the online example. I have three data series: an XyScatterRenderableSeries, a FastColumnRenderableSeries, and a FastLineRenderableSeries. The plot itself is fine. But the legend isn’t. In addition to the checkboxes bug (I don’t need these and so have set ShowVisibilityCheckboxes=False, to no effect), I’m seeing color samples for the scatter and column data, but nothing for the line. All three series names appear as expected, but I’m missing the color sample for the line plot. What’s up?

Thanks,
–George

0 votes
7k views

Since Google have dropped their support for Silverlight in Chrome the online demo pages no longer work. Just wondering if you will be fixing this so that people can view the demos in Chrome again? Thank you.

  • sdavies asked 7 years ago
  • last active 6 years ago
0 votes
0 answers
6k 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 8 years ago
1 vote
9k views

Hi,
i’ve a Example as Screenshot. What i want to do is to draw and move two Lines on Scichart and draw the difference between the two Lines on an Arrow.
Did anyone know a possibility to do this ?
Thanks in Advance

2 votes
13k views

Hi,

Now that I’m binding to a SeriesSource instead of creating my RenderableSeries in XAML, I don’t know how to apply a RolloverMarkerTemplate.

In XAML I had the following:

                        <SciChart:FastLineRenderableSeries SeriesColor="Blue">
                            <SciChart:FastLineRenderableSeries.Style>
                                <Style TargetType="{x:Type SciChart:FastLineRenderableSeries}">
                                    <Setter Property="RolloverMarkerTemplate">
                                        <Setter.Value>
                                            <ControlTemplate>
                                                <Ellipse Width="7" Height="7" Fill="SlateGray" Stroke="SlateGray" StrokeThickness="1" />
                                            </ControlTemplate>
                                        </Setter.Value>
                                    </Setter>
                                </Style>
                            </SciChart:FastLineRenderableSeries.Style>
                        </SciChart:FastLineRenderableSeries>

But now I do something like this:

    _chartSeries.Add(New ChartSeriesViewModel(rawSeries, New FastLineRenderableSeries()))
            With _chartSeries(0).RenderSeries
                .SeriesColor = Colors.Blue
            End With

I’m able to set the SeriesColor = Colors.Blue in code, but I don’t know how to generate the RolloverMarkerTemplate to control other features such as the ellipse shape.

Thanks,
–George

0 votes
8k views

Hello.

Found a bug: when working with the axis-X scales the Y-axis
To get started, you need to configure in SciChart so zooming and moving only happened on the axis-X

Next:

  1. Take any chart (1.png)
  2. Highly scalable any point (2.png)
  3. Try to move the schedule of shifts sharply to the side, Y-axis scale changes (3.png)
  4. increase the scale to its original condition(4.png)

At the same time if you do everything except the third paragraph then all is well

This is a bug or need to configure something else?

  • Nicholas asked 8 years ago
  • last active 8 years ago
1 vote
9k views

Hi folks,

I’ve just upgraded a project to SciChart version 3.x. I got most everything working, but one issue remains…

In 1.x and 2.x, I was able to hide cursor labels by adding an empty AxisLabelTemplate like this:

<s:CursorModifier x:Name="MainCursor" ShowAxisLabels="True" ShowTooltip="False" LineOverlayStyle="{x:Null}">
     <s:CursorModifier.AxisLabelTemplate>
         <!-- This empty template hides Themes cursor labels -->
         <ControlTemplate TargetType="s:TemplatableControl" />
      </s:CursorModifier.AxisLabelTemplate>
 </s:CursorModifier>

In 3.x, this doesn’t quite seem to work. I have no y-axis cursor label, but I do have an x-axis cursor label. (My axes are treated differently; one is in XAML, and one is in code since I swap between linear and log axes occasionally.)

How can I get rid of the x-axis cursor?

Thanks,
–George

  • yefchak asked 8 years ago
  • last active 8 years ago
0 votes
10k views

I have a chart that is graphing multiple DataSeries. I’m trying to create a sort of “legend” on my chart which essentially works like this
example except no rolling over is necessary and it always just displays the most recent value. Any suggestions? Is there a good way to get the most recent value out of a DataSeries to bind to?

Thanks,
Alex

1 vote
0 answers
8k views

Hallo,

Once again I have a strange behaivour with the labeltextformating.

I have xaml code wich wont work. If i do the same in code behind it works perfectly. Why is that?

Code wich won’t work:

<Style x:Key="VerticalLineAnnotationStyle" TargetType="s:VerticalLineAnnotation">
            <Setter Property="Stroke" Value="#FFFF6600"/>
            <Setter Property="StrokeThickness" Value="2"/>
            <Setter Property="ShowLabel" Value="False"/>
            <Setter Property="LabelPlacement" Value="Axis"/>
            <Setter Property="VerticalAlignment" Value="Stretch"/>
            <Setter Property="LabelTextFormatting" Value="dd MMM yyyy HH:mm:ss"/>
        </Style>

<s:SciChartSurface.Annotations>
               
                <pp:CustomVerticalLineAnnotation x:Name="FVert" YAxisId="GenYAxis" FontSize="12" ShowLabel="True" IsEditable="True" IsEnabled="True" Height="600"
                                          Style="{StaticResource VerticalLineAnnotationStyle}" IsHidden="True"/>


            </s:SciChartSurface.Annotations>

Code wich works:

internal void AddVerticalLineDiff(string annotationType)
        {
            var type = _annotationTypes[annotationType];
            var resourceName = String.Format(&quot;{0}Style&quot;, type.Name);

            CustomVerticalLineAnnotation HAnot = new CustomVerticalLineAnnotation();
            HAnot.Name = &quot;VAnot1&quot;;
            HAnot.YAxisId = &quot;GenYAxis&quot;;
            // HAnot.YAxisId = &quot;GenYAxis&quot;;
            HAnot.Style = (Style)Resources[resourceName];
            HAnot.DragDirections = XyDirection.XDirection;
            HAnot.Height = sciChart.RenderSurface.ActualHeight;
            HAnot.IsEnabled = true;
            HAnot.IsEditable = true;
            HAnot.ShowLabel = true;

            // Perform the hit test relative to the GridLinesPanel
            HitTestInfo hitTestInfo = sciChart.RenderableSeries[0].HitTest(new Point(0, 0));
            HAnot.X1 = hitTestInfo.XValue;

            //HAnot.AnnotationLabels[0].Template = (ControlTemplate)Resources[&quot;VerAnnotLabelTemplate&quot;];
            sciChart.Annotations.Add(HAnot);

        }
private readonly IDictionary<string, Type> _annotationTypes = new Dictionary<string, Type>()
        {
            { "LineAnnotation", typeof(LineAnnotation)},
            { "LineArrowAnnotation", typeof(LineArrowAnnotation)},
            { "TextAnnotation", typeof(TextAnnotation)},
            { "BoxAnnotation", typeof(BoxAnnotation)},
            { "HorizontalLineAnnotation", typeof(HorizontalLineAnnotation)},
            { "VerticalLineAnnotation", typeof(VerticalLineAnnotation)},
            { "AxisMarkerAnnotation", typeof(AxisMarkerAnnotation)}
        };
1 vote
6k views

Hello,
I’m using your package for price charting. And I need to put on one bar (or candlestick) several markers (for example several dots with different colours and sizes). Also sometimes I need to change size on some of these markers. Now I am doing this by putting CustomAnnotations. Is there a way to plot the same with for example XyScatterRenderableSeries to increase drawing speed?

Best regards,
Roman.

  • Roman asked 7 years ago
  • last active 7 years ago
0 votes
8k views

Hi,
How can i get smooth lines in FastLineRenderableSeries. Please see the attached image, specially when the stroke thickness is high, you see lots of small steps in the line.

Thanks
Aysan

0 votes
10k views

Hi,

I have some plots that lay vertically, and I want them align well, how to sync the Y Axis that is located at left width to have same width of X Axis which is located at the bottom.

Thanks.

0 votes
7k views

Hi Support Team,

I am a SL developer and i am trying to save the scichart surface as a png file.

I have seen you example “First download the source code, you can find i.e. here: ScreenshotsXpsAndXLabels.zip”

but unfortunally it only works in Wpf , any suggestions would be appreciated.

Cheers

Giuseppe

  • jp13 asked 9 years ago
1 vote
7k views

I made my own custom modifier to act just like a rollover modifier, but allow keyboard input to move the rollover line between points. It was pretty easy to do and is working great, but there’s one final thing I cannot figure out how to achieve.

I want to display the the X-axis value tooltip below the vertical line just like the built-in RollOver modifier does. I was just going to manually render it, but it appears that you cannot render outside the chart modifier surface!

Is there any way to achieve this within SciChart or do I need to try to draw something completely on top of the entire SciChartSurface?

  • walshr asked 7 years ago
  • last active 7 years ago
0 votes
5k views

Hello again!
I’m creating fastlinerenderableseries and I need to show only one part of this line. For this purpose I’m using palette provider. But there is a strange side effect: when I set transparent color for line segment, it also paints lines on the chart (see pictures below-1 before switching on segment painting, 2 – after).
How can I fix it.

Thanks in advance
P.S. I ‘ve also attached project below.

  • Egor asked 7 years ago
  • last active 7 years ago
0 votes
10k views

Hi,

I have a simple chart with FastLineRenderableSeries with a DateTime X axis and a numeric Y axis. I’ve also added a RubberBandXyZoomModifier and a ZoomExtentsModifier. In this chart I want to be able to zoom out to previous visible range. E. g. the user use the rubber band to zoom in to range A, then he zooms in a second time to range B, then he should have the opportunity to zoom out from range B and back to range A. Do you have a recommendation for how I can achieve this?

My first thought was to override the ZoomExtensModifier to allow the user to both use the full zoom out functionality, and also, by holding shift or something, zoom out to previous. In addition I can handle the VisibleRangeChanged event to collect the ranges.

Then I noticed that the VisibleRangeChanged event always seems to get fired twice after a user modification of the visible range. For example if I test with a slightly modified version of the line chart in http://http://www.scichart.com/documentation/webframe.html#BuildingASimpleLineChart.html, and zoom from X (205,431) to (250,300); the first time VisibleRangeChanged is fired the e.NewVisibleRange is (215,404), the second time it is as expected (250,300). Why is that? Will it always fire two times, or can I also expect it to fire one or three times? Is this something that can or will change in future releases of scichart?

  • Olav
1 vote
8k views

Is there a way in Sci-Chart to not have the legend inside the chart(plot) but rather have the legend outside as to not to interfere with the plots/charts?

  • Samir Shah asked 6 years ago
  • last active 6 years ago
0 votes
10k views

Now I am trying to add MVVM bindings for a Chart Legend

I have

        <SciChart:SciChartSurface x:Name="sciChart" DataSet="{Binding DataSeriesSet}" 
            SciChart:ThemeManager.Theme="Oscilloscope" 
            Grid.Row="1" 
            RenderableSeries="{Binding RenderableSeries}"
            ChartModifier="{Binding ChartModifier}"
            XAxis="{Binding XAxis}" 
            YAxes="{Binding YAxes}">
                   </SciChart:SciChartSurface>
        <SciChart:SciChartLegend x:Name="legendControl" Grid.Row="1" Margin="23,23" ShowVisibilityCheckboxes="True" LegendData="{ Binding LegendDataSource,  Mode=OneWay}"/>

and in My ViewModel

        public AnalogueChartViewModel()
        {
            XAxis = new DateTimeAxis
            {
                VisibleRange = RangeFactory.NewRange(DateTime.Now.AddDays(-2), DateTime.Now),
                DrawMinorGridLines = false,
                AxisTitle = "X-Axis"
            };
            RenderableSeries = new ObservableCollection<IRenderableSeries>();
            YAxes = new AxisCollection();
            DataSeriesSet = new DataSeriesSet<DateTime, double>();
            var xAxisDrag = new XAxisDragModifier();
            var zoomExtents = new ZoomExtentsModifier();
            var rubberBandZoom = new RubberBandXyZoomModifier();
            var panModifier = new ZoomPanModifier { ExecuteOn = ExecuteOn.MouseRightButton };
            _legendDataSource = new LegendModifier { GetLegendDataFor = 0 };

            ChartModifier = new ModifierGroup(xAxisDrag, zoomExtents, rubberBandZoom, panModifier, _legendDataSource);

        }

        private LegendModifier _legendDataSource;

        public LegendModifier LegendDataSource
        {
            get { return _legendDataSource; }
            set 
            { 
                _legendDataSource = value;
                OnPropertyChanged("LegendDataSource");
            }
        }


But not sure how to bind to the LegendData

Sorry I keep troubling you, but after all this there should be some good MVVM code for others to follow too.

  • wilx asked 9 years ago
0 votes
7k views

I successfully set my x-axis visible range between 0.0 and 5.0. I would like to have major grid lines every 1.0. How can I do this? I see a MajorDelta property which I set to 1.0. This did not work. Instead, the major grid lines are every 0.5 on the x axis.

0 votes
9k views

Hello,

I am getting started with Scichart (again) and was hoping you could help me with a question.
I am attempting to plot a data series on a scatter plot. Is it possible to set the color for each individual point (either manually, or based on another piece of data)?

I thought I remember seeing an example on this a while back, but I can’t seem to find it now.

Thanks.

1 vote
7k views

Hi ,

I have two X Axes and two Y Axes, I want to stretch X Axes so it fills up the empty spaces marked
‘2’ in attached image.

0 votes
13k views

When using the CursorModifier and rolling over a series the numbers appear without thousand seperators ie: 10000 instead of 10,000. Is there a way I can add these?

  • kelias asked 10 years ago
  • last active 6 years ago
1 vote
11k views

Hi,

I have a scichart surface defined in xaml like this,

<local:SciChartSurface x:Name="_ChartSurface"  Annotations="{Binding ChartAnnotations}">

        </local:SciChartSurface>

In the code behind I have ChartAnnotations defined as,

 public const string ChartAnnotationsPropertyName = "ChartAnnotations";
        private AnnotationCollection _ChartAnnotations = new AnnotationCollection();
        public AnnotationCollection ChartAnnotations
        {
            get { return _ChartAnnotations; }
            set
            {
                if (_ChartAnnotations == value)
                    return;

                _ChartAnnotations = value;
                RaisePropertyChanged(ChartAnnotationsPropertyName);
            }
        }

 public ViewModelExample()
{  
  ChartAnnotations.CollectionChanged += ChartAnnotations_CollectionChanged;    
}

 void ChartAnnotations_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            RaisePropertyChanged(ChartAnnotationsPropertyName);          
        }

Than in the code behind, I just initialize and add some annotations to the ChartAnnotations collection to populate my chart. The problem is that my Annotations property on the scichart surface is still null, and the RaisePropertyChanged() is not affecting the Bindings at all. I’m certain that the DataContext is set right as other stuff in the graph works fine. I works when I explicitly set the surface’s Annotations property with my ChartAnnotations collection, but obviously this is less than ideal.

Is there an additional step that I’m missing here?

Thanks

  • kewur asked 8 years ago
  • last active 8 years ago
1 vote
10k views

Hi

I want to override the default AxisLabelTemplate for a DateTimeAxis beyond the normal circumstances.
Setting the AxisLabelTemplate to a StaticResource is easy enough, but all I have inside the Template is the CursorFormattedDataValue and I want to be able to send in something more then a simple string.

<ControlTemplate x:Key="RolloverModifierAxisLabelTemplateDefault">
    <Border Background="LightGray" 
            Opacity="0.80" 
            BorderThickness="0"
            CornerRadius="5"
            Padding="2"
            Visibility="{Binding IsXAxis, Converter={StaticResource BoolToVisibilityConverter}}">
        <TextBlock Text="{Binding CursorFormattedDataValue}" />
    </Border>
</ControlTemplate>

Extending the LabelProviderBase gives me the opportunity to override the FormatCursorLabel method, but it only returns a string and not an object and therefore I can not pass my own data structure to be used inside the AxisLabelTemplate.

How can we solve this issue? Is there a workaround, or is this something you need to implement?

0 votes
10k views

Hi. Apparently I need the SciChartSurface object in order to print. I’m living in the MVVM world and I’m currently binding the surface’s DataSet to my viewmodel. How can I get the same data to my paginator for printing? I can get a scichartsurface object to my paginator but currently I’m having to create a second object with all my viewmodel data in it, which seems somewhat inefficient – not to mention awkward.

Thanks for any guidance.

  • BowIT_Andy asked 10 years ago
  • last active 6 years ago
0 votes
9k views

Hi,

I have a chart with 4 axes (two X and two Y), when I try use AnnotationCreationModifier to create annotation, I get next error:

at Abt.Controls.SciChart.Visuals.Annotations.AnnotationBase.FromCoordinates(Double xCoord, Double yCoord)
at Abt.Controls.SciChart.Visuals.Annotations.AnnotationBase.FromCoordinates(Point coords)
at Abt.Controls.SciChart.Visuals.Annotations.AnnotationBase.UpdatePosition(Point point1, Point point2)
at Abt.Controls.SciChart.ChartModifiers.AnnotationCreationModifier.OnModifierMouseUp(ModifierMouseArgs mouseButtonEventArgs)
at Abt.Controls.SciChart.ChartModifiers.ModifierGroup.c9fd5ab524d787e8439d8933aeb87fdc5(IChartModifier c6b1effd112e5355cd5f051dd91cd4f67, ModifierMouseArgs cbb39038dde40bfc3fdcfa70f4bbf8778)
at Abt.Controls.SciChart.ChartModifiers.ModifierGroup.c9e8960a6a8527c20ac9e46e162c72b22(Action`2 c4bd4ab823835cf92d221476b6fb65a17, ModifierMouseArgs c4c23d80d4d060e409c3479ef17d6c65e)
at Abt.Controls.SciChart.ChartModifiers.ModifierGroup.OnModifierMouseUp(ModifierMouseArgs e)
at Abt.Controls.SciChart.Utility.Mouse.MouseManager.cad56cb88fe961ec17710025afdf79607(ModifierMouseArgs cbb39038dde40bfc3fdcfa70f4bbf8778, IReceiveMouseEvents c18509698be3f9366c690e7d2b107b62c, Boolean c3791a1b71c1577bde30b55c12b2a5583)
at Abt.Controls.SciChart.Utility.Mouse.MouseManager.cf88844ca415efe316ebbc6460c4d5477.c017276be757b162458755f3f8e0c9aa6.cd7319400482f82418e9a97b614eab2ca(IReceiveMouseEvents c133657388cc0f6f6615e21e129ac4b3a)
at A.c19dd4d74f6373c95c517d29624d76e4b.cacf72b657252e3e73860afb89d70cb9f[c13c28af86f0b14202b9c7ef43b1bd11a](IEnumerable`1 c40a30a1bb6416cd164565919fdef15a9, Action`1 c885aac61bc9832561b7ff07903c88d5e)
at Abt.Controls.SciChart.Utility.Mouse.MouseManager.cf88844ca415efe316ebbc6460c4d5477.cef5451dcf09f913b48c9730b7cb0d11d(Object cae49ecc8585f35e8dd5ce624f7fb7ab5, MouseButtonEventArgs c4c23d80d4d060e409c3479ef17d6c65e)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run()
at SciTest.App.Main() in d:\Projects\Test\SciChart\SciTest1\SciTest\obj\Debug\App.g.cs:line 0
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

My Xaml code:

<s:SciChartSurface x:Name="sciChart" Grid.Row="1" ClipModifierSurface="True" s:ThemeManager.Theme="Chrome">

    <s:SciChartSurface.RenderableSeries>
        <s:FastCandlestickRenderableSeries XAxisId="X" YAxisId="Y"/>
    </s:SciChartSurface.RenderableSeries>

    <s:SciChartSurface.XAxes>
        <s:CategoryDateTimeAxis Id="X"/>
        <s:CategoryDateTimeAxis Id="X2"/>
    </s:SciChartSurface.XAxes>

    <s:SciChartSurface.YAxes>
        <s:NumericAxis TextFormatting="0.0#" Id="Y"/>
        <s:NumericAxis TextFormatting="0.0#" Id="Y1"/>
    </s:SciChartSurface.YAxes>

    <s:SciChartSurface.ChartModifier>
        <s:ModifierGroup>
            <s:AnnotationCreationModifier YAxisId="Y" x:Name="annotationCreation" AnnotationCreated="OnAnnotationCreated"/>
            <s:YAxisDragModifier/>
            <s:XAxisDragModifier/>
        </s:ModifierGroup>
    </s:SciChartSurface.ChartModifier>

</s:SciChartSurface>
1 vote
7k views

Hello,

I am trying to evaluate Scichart for purchase. I am using live data (17 Channels, many samples per second) to draw FastLineRenderableSeries (0-100% on the y axis, time on the x axis). I have everything working satisfactorily using the MVVM pattern. I have tried the HighQualityRenderSurface and Direct3D10RenderSurface.

Are these renderers actually working or am I still using the software renderer?

I need to draw a translucent rectangle on the chart to indicate a “Good” range of values of y values (say 40-50%).

If I use annotations to draw a rectangle, everything slows down and it is unusable. If I use immediate mode drawing and the HighQualityRendererSurface it is kind of OK. If i use immediate mode drawing and the Direct3D10RenderSurface the rectangle and the series lines alternately flash slowly and it is unusable.

How can I draw a rectangle on the screen using live data and get good performance? Do I need the license for this to work well?

Thanks.

0 votes
5k views

Is it possible to create a BoxRendableSeries with outliers by a predefined range (e.g. 2%-98%) and everything which exceeds will be drawn as a outlier (a ellipse a like dot)?

What I want to do is, given each box, I want to mark the box with a dot if parameters exceed certain values. Is this something that SciChart supports?

1 vote
11k views

I am trying to set the extents of a chart beyond where the data stops, ex. data stops at 22 hours and I would like the chart to go to 24 hours. I would also like double clicking to go back to 24 hours after zooming, and I would like to be able to retrieve this extent later. Right now I set the visible range to 24, but it automatically re-sizes to 22 and when I use XAxis.GetMaximumRange, it also gives me 22. I would like to set the min and max to a specific number, so I don’t think GrowBy is the answer. I tried AutoRangeOnStartup but it seems to be deprecated. Is there any way to do what I am trying to achieve?

Thanks,
Greg

0 votes
9k views

Hey guys,

I am setting the GridLinesPanelStyle property of my SciChartSurface to the following Style from the Resources of the parent Border element:

<Style x:Key="GridLinesPanelStyle" TargetType="{x:Type axes:GridLinesPanel}">
    <Setter Property="KeyboardNavigation.ControlTabNavigation" Value="None" />
    <Setter Property="IsTabStop" Value="False" />
    <Setter Property="Background" Value="Transparent" />
    <Setter Property="BorderBrush" Value="{StaticResource ChartBorderBrush}" />
</Style>

When snooping down into the “PART_GridLinesArea” I see that the Background is set to #FF353535 from the “Parent Template”. It gets interesting; I can Delve into the Style property of the same element and see my setters from the above snippet of code.

This approach was working pre-SciChart 2.0 and it appears to be the approach being used by the Examples suite as well, but I can’t yet get that running with my licence (there is another thread asking for help to fix this too ;)!).

Thanks for your support,
Miles

0 votes
7k views

Is it possible use SciChart to rotate the point markers on chart by a z value? I’d like to produce a chart similar to the attached wind chart sample from the weather underground website.

  • wawr asked 7 years ago
  • last active 7 years ago
0 votes
5k views

Hi,
Can I draw chart manually? I want to give user possibility to draw line chart by mouse. Is it possible?
Thank you

0 votes
9k views

I know that I ask a lot of questions, but I’d like to be sure that SciChart fulfills all my application needs before I buy it, I wouldn’t like to be “blocked” afterwards as we won’t have the funds to buy multiple charts controls.

Anyway, in the data I would like to display, I have two sets of “points” for one series. One is the real, measured point and the other is points that have been calculated through a non-polynomial fitting on the data.

I would like to display the measured points as scatter but the fit as lines, except for one special series that is only extrapolated from the fit and also the first “point” of the series that is also extrapolated from the fit. This series and those points should have both line and point marker.

And while I’m at it, another feature that I have for my application:
– Being able to select a specific data point (with a visual queue that shows the point selected) and remove it. My ViewModel should be able to receive which point has been removed to trigger business logic

1 vote
8k views

I need to be able to show the user pre- and postmarket phases on a chart. Above is the screenshot of another control that does what I need.

To my understanding, I just need to implement the read only vertical range annotation and place it behind the series.

As I don’t have the source code license, could you please give me some advice from where to start the implementation process?

  • gman asked 9 years ago
0 votes
6k views

Hi All,

We have included in our wpf chart vertical slices to show markers on data series, but when a vertical slice is added, one marker per series is shown at the same time.
Is it possible to show only one marker per series and per vertical line annotation? We want to add serveral vertical slices, and each one has a marker to only one series.
Please find attached two pictures: the first one represents what we have, and the second one represents what we need.

Thank you in advance
Regards,
Juan

0 votes
7k views

Hi,

TX and TY in XyDataSeries<TX,TY> are currently subject to some unclear constraints to do with the internal implementation of SciChart. Would it be possible to either remove these constraints or expose them as interfaces and .NET generic type constraints on XyDataSeries<TX,TY>?

Specifically, I’d like to enable ulong as a valid TX and my own complex data type as a TY. I’m creating a CustomRenderableSeries where each point has x, y, shape, colour and size. I can encode these data within the bytes of e.g. an XyzDataSeries<DateTime,double>, but its inconvenient, hacky and unclear. It would seem more natural to create a type to contain those fields and then have a XyDataSeries<DateTime, MyPointData>

I can make MyPointData IComparable and anything else that is required.

Any thoughts?

Cheers
Felix

  • F W asked 8 years ago
  • last active 8 years ago
Showing 1 - 50 of 4k results