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

1 vote
10k views

How can I synchronise two or more Rollover Modifiers from different charts? If I move the mouse I would like to see a Rollover Modifier also on other charts.

2 votes
15k views

Hi
I not really understand how i could display the X and Y value separated in a rolloverLabel?
In the example is always on value like Y.
Can you help me?

Thanks

  • Marcel asked 12 years ago
  • last active 9 years ago
1 vote
12k views

Hello guys, what would be the best option for aligning the axes vertically in the case when there are at least two y axes?

What I mean by vertical alignment:
The value 0 should be on the same grid line for both axes
The major ticks for both axes should snap to the grid lines

Btw, SciChart is awesome!

0 votes
12k views

At the moment I am using a single chart with two y axes.

If you look at the file YAxesNow_SinExp.png, you can see that the 0 value for sin is at the middle of the image and the 0 for e^x is at the bottom. These two must be aligned so that the zero values are the same on both Axis.

Also, in the same image you can see that the major ticks for e^x are aligned to the major grid lines, but the ticks for sin(x) are not. In my case, the ticks for both axes must also be aligned to the grid lines.

In the file YAxesNeeded_SinExp.png I did a rough sketch of how it should be.

Do you know how I can achieve this?

1 vote
9k views

Hello,

I am evaluating SciChart for use in a large WPF application. Right now, we’re using Visifire. It’s OK, but we are running into performance issues and flexibility constraints. So far, SciChart looks much better.

To speed along the evaluation, I’m hoping you can answer a few questions for me:

  1. Does the rollover modifier work with dynamically generated lines (i.e. the FastLineRenderableSeries is not declared in XAML)? In a small sample I built using the trial, rollovers aren’t working at all. Also, is there an event fired on rollover I can use instead of data binding?

  2. Can the Y-Axis be displayed on the left -and- right sides? Customer feedback is that mirroring the axis makes reading the chart easier.

  3. Are there events and properties to determine when the graph is zoomed/panned, and what values are currently visible? I need to synchronize a data grid with just the visible values in the chart.

  4. Can I add custom markers to the chart? Based on samples, it looks like I can. I need markers for max, min and a number of other notable points in the chart.

  5. Can I control formatting of axis values? I need to be able to localize dates, and format currency values with appropriate currency symbols, thousands separators, and decimals.

Thanks,
Alex.

1 vote
12k views

Our current graphs have an additional data series to highlight the 0, or break-even line. How can I do that using SciChart without adding a data series (which would be included in the rollover feedback)?

  • Alex Lynch asked 12 years ago
  • last active 10 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?

0 votes
10k views

Hello,
The SciChartOverview is great, it provides exactly the functionality that I needed for panning and zooming. The only problem is that from what I have found until now it works only on the x axis.

Is there an easy way to have exactly the same zooming and panning functionality provided by the SciChartOverview on the Y Axes? I just need the zooming and panning, not the data preview.

I tried to do this by modifying the ControlTemplate of the NumericAxis control, but I quickly got into trouble, and this seems like a little bit too much work anyway.

Is there a simple way to do it with SciChart?
I added an image with a similar control that does this.

  • Straliciuc asked 12 years ago
  • last active 5 years ago
0 votes
12k views

Hi

Maybe you remember my existing control with a collection from Sci Charts (see Picture)
The status signals of 1 to 8 refers here always to the points in the X-axis. Is now very deep into the graph zoomed to the points on the chart type “fast line” automatically interpolated. The lower 8 status charts are of the “Fast Column”.
Do you have an idea on how we can interpolate the signals at the status signals 1 to 8?

Please help me..Thanks a lot

2 votes
11k views

Is there any documentation besides the tutorials? Something like the one found on MSDN, with all the Properties of the SciChart elements that can be styled.

  • catalin asked 12 years ago
  • last active 8 years ago
0 votes
11k views

I am using the MVVM pattern.
I need the ability to create and style a variable number of line series in a chart.
In order to accomplish this I am binding the RenderableSeries to a collection in my view model.

<SciChart:SciChartSurface 
  x:Name="historicalChart"
  Grid.Row="1" 
  Grid.Column="0"
  telerik:RadDragAndDropManager.AllowDrop="True"
  RenderableSeries="{Binding HistoricalRenderableSeries, Mode=TwoWay}"
  DataSet="{Binding ChartData, Mode=TwoWay}" SciChart:ThemeManager.Theme="ExpressionLight">
</SciChart:SciChartSurface>

And then I am setting the various styles like SeriesColor and StrokeThickness in my view model.
I am now trying to color the points on each line to match the color of the line using a control template.

<ControlTemplate x:Key="ChartShowPointTemplate">
<Ellipse Height="6" Width="6">
<Ellipse.Style>
<Style TargetType="{x:Type Ellipse}">
<Setter Property="Visibility" Value="Visible"/>
<!–<Setter Property="Fill" Value="Green"/>–>
<Setter Property="Fill" Value="{Binding Path=SeriesColor, Converter={StaticResource ColorToBrushConverter}, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type SciChart:FastLineRenderableSeries}}}"/>–>
</Style>
</Ellipse.Style>
</Ellipse>
</ControlTemplate>

But I get the following error:

System.Windows.Data Error: 4 : Cannot find source for binding with reference ‘RelativeSource FindAncestor, AncestorType=’Abt.Controls.SciChart.FastLineRenderableSeries’, AncestorLevel=’1”.
BindingExpression:Path=SeriesColor; DataItem=null; target element is ‘Ellipse’ (Name=”); target property is ‘Fill’ (type ‘Brush’)

I have tried many several options to try and get this work.
If I hard code to GREEN I do see green points on my line.

Any ideas?

1 vote
17k views

I am using the MVVM pattern.

I trying to manage the number of YAxes in my chart in a dynamic manner by binding the YAxes in the chart to a collection so that each time I add a new line series that line series gets its own axis.

When I do this I am getting a null reference expection.
If I hard code the YAxes or YAxis my chart loads.

Here is the xaml:

<SciChart:SciChartSurface x:Name="historicalChart" 
    RenderableSeries="{Binding HistoricalRenderableSeries, Mode=TwoWay}"
    YAxes="{Binding ChartYAxes, Mode=TwoWay}"
    SciChart:ThemeManager.Theme="ExpressionLight">
   ...
</s:SciChartSurface>

Here is the ViewModel

I tried both an ObservableCollection and a AxisCollection in my view model.

private ObservableCollection<NumericAxis> _chartYAxes = new ObservableCollection<NumericAxis>();
public ObservableCollection<NumericAxis> ChartYAxes
{
  get { return _chartYAxes; }
  set
  {
    _chartYAxes = value;
    NotifyPropertyChanged("ChartYAxes");
  }
}

private AxisCollection _chartYAxes = new AxisCollection();
public AxisCollection ChartYAxes
{
  get { return _chartYAxes; }
  set
  {
    _chartYAxes = value;
    NotifyPropertyChanged("ChartYAxes");
  }
}

Can anyone suggest a way to manage a variable number of YAxes in a chart?

  • sdemooy asked 12 years ago
  • last active 9 years ago
0 votes
14k views

Hi,
How can i create context menu for FastLineRenderableSeries ?
i tested ContextMenu property of FastLineRenderableSeries and it didn’t work.
As i understand – it is because FastLineRenderableSeries is not a control that visualized.

0 votes
15k views

I would like to make a chart where the Y axis starts at 0 and ends at 2000. The dataset I’ll populate it with has these min and max restrictions but if the data ranges from 100-1000, the chart always seems to autorange.

Here is what I’m trying:

<SciChart:SciChartSurface.YAxis>
<SciChart:NumericAxis AutoRange="False" DrawMinorTicks="False" DrawMinorGridLines="False" DrawMajorGridLines="False" >
<SciChart:NumericAxis.VisibleRange>
<SciChart:DoubleRange Min="0" Max="1000"/>
</SciChart:NumericAxis.VisibleRange>
</SciChart:NumericAxis>
</SciChart:SciChartSurface.YAxis>

But when I run it doesn’t seem to do anything. What am I missing?

1 vote
12k views

My previous example/question worked because I hard coded to use two charts each with their own chart modifiers as follows all in the same class.

_chartModifiers = new ModifierGroup();
MouseManager.SetMouseEventGroup(_chartModifiers, "MyGroup");
_chartModifiers2 = new ModifierGroup();
MouseManager.SetMouseEventGroup(_chartModifiers2, "MyGroup");

I am now building the ui that allows me to add and remove a graph from an items control. Each graph now binds to a view model to get its data and a parent class manages a collection of graphs (view models). I set the mouse event group in the constructor which is empty when I call SetMouseEventGroup. This causes some weird behavior when zooming as both graphs zoom together plus scrolling the yaxis scolls both yaxis at the same time and sometimes crashes.

Note: in my code now this gets call two times; once for each chart.

public GraphViewModel()
{
  _chartModifiers = new ModifierGroup();
  MouseManager.SetMouseEventGroup(_chartModifiers, &quot;MyGroup&quot;);
}

private ModifierGroup _chartModifiers;
public ModifierGroup ChartModifiers
{
  get { return _chartModifiers; }
  set
  {
    _chartModifiers = value;
    NotifyPropertyChanged(_chartModifierArgs);
  }
}

I also tried to manage the number of items that I add to the mouse event group and while that stopped linking the zoom and yaxis scoll in this case I can no longer get the rollover to work.

ModifierGroup total = new ModifierGroup();
foreach (GraphViewModel www in vm.HistoricalHealthViewModel.DisplayedGraphs)
{
   foreach (IChartModifier chartModifier in <a target="_blank" href="http://www.ChartModifiers.ChildModifiers)"  target="_blank">www.ChartModifiers.ChildModifiers)</a> 
   {
      // do not add the drag modifiers
      if (!(chartModifier is YAxisDragModifier))
      {
         total.ChildModifiers.Add(chartModifier);
      }
   }
}
MouseManager.SetMouseEventGroup(total, &quot;MyGroup&quot;);

Can you please suggest how to use the mouse event group?

0 votes
16k views

Can you please provide some examples of how to alter the formatting of a DateTimeAxis axis. I’d like to show the date and the time component that also supports localization based on the user regional settings.

0 votes
0 answers
9k views

SciChart v1.3.1.1107 has been released on the 22nd July 2012.

Full release notes and the MSI Installer can be found at http://www.scichart.com/downloads . Fixes and features in this version include:

Features

  • Added RenderPriority flag to allow for lowering, or raising priority of render operations. This can help resolve issues where mouse interaction plus real-time locks the chart
  • Allowed Scichart to be rendered off-screen (i.e. in a server environment). To use this feature, set RenderPriority = RenderPriority.Immediate and render the SciChartsurface to a bitmap
  • Added AxisBase.Clear(); Can be used to programmatically clear ticks, gridlines off an axis

Fixes

  • Fixed startup logic
  • zooming to extents on axis only if individual axis ranges are not set
  • Fixed removing last series/axis does not clear the chart
  • Fixed XyScatterRenderableSeries not drawing first data-point
  • Fixed issue in multi-axis where only the last axis could draw grid lines
  • Improvement to axis visible range handling in an MVVM scenario
  • Fixed FastColumnRenderableSeries now centres on data-point (not left edge)
  • Fixed a bug in RolloverModifier where template did not show in certain circumstances
  • Fixed a bug in RolloverModifier where selecting a series caused tooltips to remain on the screen
  • Fixed NumericAxis/DateTimeAxis.AutoTicks=False having no effect
  • Fixed Oscilloscope/Electric theme background colours which had incorrect alpha channel, showing through underlying control colour

Examples

  • Added two new examples: ECG Monitor and Spectrum Analyzer, you can find them under “IWantTo/ViewFeaturedApplication”
  • Added new tutorials: Controlling VisibleRange, where we demonstrate how to build the ECG, Oscilloscope and Spectrum Analyzer style scrolling
0 votes
9k views

Hello,
I’m having some trouble because all the points in a DataSeries have the same value, and those values are rendered outside the surface. (By constant values I mean that all the values on the y axis are equal to 19.8).

If I put a zoom modifier on the chart and zoom out, I can find my values, but when the chart is displayed for the first time, they are not visible.
This makes me think that the scaling of the y axis is not calculated correctly on the chart.

I have attached a code example.

4 votes
20k views

Hi,

I’ve got the following scenario that I need to implement and it would be very nice if you could give me a jump-start. I need to bind the x-axes values represented by 2 vertical lines and the y-axis values represented by 2 horizontal lines to a viewmodel, so that the values inside the viewmodel change when moving the lines per mouse on the screen and the other way around (see mockup for how it should look like). I think the rollover modifier could be usable for this, but I need some pseudo code or an example app on how to bind the rollover modifiers value to the viewmodel and how to display 4 rollover modifiers on the chart surface.

Thanks
Joerg

0 votes
11k views

When a user clicks on Axis (x or y), ChartModifierBase.OnModifierMouseDown is called. As axis are outside of chart zoom area, this should not be called. Is there anyway to know that ChartModifierBase.OnModifierMouseDown is on axis and not on chart area?

4 votes
19k views

I am trying to add Zoom capability to application that is based on ECG Monitor sample. As ECG Monitor manages VisibleRange, I need to stop setting VisibleRange when zoom is started. I am setting flag in RubberBandXyZoomModifier.OnModifierMouseDown.

Is there any way to create a custom ChartModifier to be notified when the user clicks mouse down on the chart, or axis?

1 vote
14k views

Is it possible to export Chart as Vector Graphic?

0 votes
10k views

Hi,

I found the solution in this thread to bind multiple YAxes via Binding
http://http://www.scichart.com/questions/question/multiple-y-axes-via-binding/?view=all#post-1095

Example works great but it is very slow.

I want to use this for adding 4 Yaxis with 3000 datapoints / axis.
It almost takes 8 seconds before data is displayed on screen.
How can we speed this up because we can not present this to our customer?

1 vote
10k views

I am using SciChart for WPF version 1.3.1.1107 with the MVVM pattern.

I have a chart with several lines and I would like to zoom to extents on just one of the lines. Can you please suggest how I can zoom my chart to the extents of one of several lines that exist in a chart?

0 votes
12k views

I am using SciChart for WPF version 1.3.1.1107 with the MVVM pattern.

I have several lines in one chart where the data from for each line covers the same date time range. I’d like to be able to move a line to the front so that I can better see its data. Currently the order in which I add the lines seems to impact the zindex of the lines series.

Is this possible?

0 votes
10k views

Hi guys,

I’ve found an issue with my custom ChartModifier that does it’s own panning.
I have implemented overrides to the following events from ChartModifierBase:
OnModifierMouseDown – just sets a boolean that is used on mouse move
OnModifierMouseUp – clears that boolean
OnParentSurfaceMouseLeave – also clears the boolean
OnModifierMouseMove – does all of the work

Now please note that on my Chart, I have a single Y-axis on the right-hand-side of the data grid.
The bug I believe is when the mouse moves beyond the left-hand side of the data grid in the small (20px or so) space between the data grid and the end of the bounds of the SciChart. See screenshot for where I mean.
When the mouse enters this zone, I expect an OnParentSurfaceMouseLeave event to fire but it does not. What also does not fire anymore in this zone is any of the other events – so I can click-drag from my data grid area, move the mouse into this zone and release the left-mouse. Moving the mouse back inside the data grid area, my Pan chart modifier thinks that the mouse is still held down (my boolean is still set to true) because the OnModifierMouseUp did not fire.

I believe the ModifierSurface bounds perhaps aren’t being set correctly.

Please note that on all other boundaries but the left-most one, this bug is non-reproducible and so is not an issue.

Just a minor issue, but one I thought is worth a mention anyway.

Cheers,
Miles

3 votes
17k views

Hi Guys,

My Sci Chart has dates along the X-Axis. So far my data is at week level (one point for each week).

Ideally I would like to have a subtle grid line at each week, a more noticeable grid line to represent the start of each month, and a major grid line to represent the start of each year.

I understand that the current implementation of the XAxis seems to only use Minor and Major gridlines.

I am interested in drawing grid lines such that:

one minor vertical grid-line is drawn on the start of each week
one medium vertical grid-line is drawn on the start of each month
one major vertical grid-line is drawn on the start of each year
And for these grid lines to be drawn regardless of the current visible range or “zoom” of the chart.

Is there a simple tutorial or some snippet of code illustrating what I need to overwrite in a custom class in order to get this functionality into my chart?

Thanks again,
Miles

2 votes
17k views

Hi guys,

I’m tackling a difficult problem in my solution here. Our chart will allow users to add as many as 50 different series at any one time.

As well as this – the user will be able to specify the RenderableSeries (Chart Type) of each of these between; column, line and mountain.

One solution is to replicate the method found in your own SciChart SciTrader demonstration (in which each type of RenderableSeries is added to the xaml once for each data series, they share a DataSeries and then the Visibility property within the style is managed to only show the one the user requests), but this would require 150 (50 placeholders for 50 possible series * 3 definitions per series) definitions of different RenderableSeries, each with their own Style defined.

Is there any way to create a custom RenderableSeries that extends BaseRenderableSeries and add a DependencyProperty that allows a binding from the xaml to modify the type of RenderableSeries that is displayed?

Even better – is there a way to add RenderableSeries using MVVM (I noticed the add/remove dynamic series tutorial has a note to standby for such a tutorial). I will attempt to find a solution by going down this path as it sounds much less verbose.

Thanks in advance for all your help!
Miles

  • bstapylton asked 12 years ago
  • last active 11 months ago
0 votes
12k views

How can I hide and show a set of datapoints with or sometimes without the corresponding axis and labels?

0 votes
16k views

Hey there!

How do I set the interval between grid lines to be a fixed value?

For example, my xAxis is a DateTimeAxis and I want a grid line drawn at one hour intervals, regardless of zooming.

Same goes for my yAxis (NumericAxis)

Thanks

4 votes
21k views

I am using WPF SciChart version 1.3.1.1107 under the MVVM pattern.
I’ve included some sample code from a couple of my view models for reference purposes but it identical to sample code I copied from your examples.

My problem is that the data values arrive in a non sorted date time order and as a result my chart line does not connect the points based on the xaxis datetime value, but instead connects the points based on when the codes adds the points to the data series.

Do you have a feature that will allow me to plot a line based on a date time values?

    IDataSeries dataSeries = ChartDataSeriesSet.AddSeries();

    private IDataSeriesSet _chartDataSeriesSet = new DataSeriesSet();
    public IDataSeriesSet ChartDataSeriesSet
    {
      get { return _chartDataSeriesSet; }
      set
      {
        _chartDataSeriesSet = value;
        NotifyPropertyChanged("ChartDataSeriesSet");
      }
    }

    private IDataSeries _dataValues = null;
    public IDataSeries DataValues
    {
      get { return _dataValues; }
      set
      {
        _dataValues = value;
        NotifyPropertyChanged("DataValues");
      }
    }
  • sdemooy asked 12 years ago
  • last active 10 years ago
0 votes
9k views

Hi guys,

Update: Based on some other desired functionality about how the mouse should interact with this element, I’ve developed my own modifier to handle the roll-over functionality. As such, this ticket doesn’t need a reply any more. Thanks – and my apologies if it consumed any resources in the meantime!

This is a strange one. I am using seven XyScatterRenderableSeries on the one SciChart, in conjunction with a style for each of these to display seven different icons (in my case, I use path geometry or ellipses to define a full-circle, a circle with a divider down the middle or a circle split into three from the centre – each section then gets its own color).

Have a look at the attached screenshot for an idea of what it looks like – not a conventional chart by any means. The YAxis range is hard-coded in to only allow three possible values, whereas the XAxis is a Date axis and can allow values at any week. To allow the circles to sit where they are they are assigned a Y-coordinate of either 0.5, 1.5 or 2.5 (this allows them to sit between the gridllines I’ve defined in the xaml.

My problem is that the RolloverModifier is not following all of the RendereableSeries at all, and is acting strange and not providing me with a tooltip for some circles some of the time. It all seems very random.

Are RolloverModifiers working for multiple scatter series, where each series may have a different number of points to all others?

Note that it is possible in my example for one of the DataSeries to have two values (Y) for the one DateTime (X) as well.

I have attached some snippets of code – pasting it in here was not working for me, apologies!

If you require any further information, please let me know.

Cheers,
Miles

P.S. I had originally attempted to do this using your annotations example in the demo (with the Trade Markers for buy/sell). The Control Template I created to add the circles in and the looping that followed at run-time made rendering any sizeable number of these simply too expensive. Everything was slowing down. After going down this new route and using the SciChart itself to render everything – there are no performance issues at all! So bravo, whatever you’re doing to render geometries is paying dividends. Everything is very quick.

4 votes
19k views

Hi guys,

After adding a YAxis to the left of my SciChart I’ve noticed that this code no longer functions as I expect:

        public override void OnModifierMouseDown(ModifierMouseArgs e)
        {
            base.OnModifierMouseDown(e);

            if (ParentSurface.RenderableSeries.First().XAxis == null)
                return;

            if (!_mouseDragged && IsFunctional)
            {
                _mouseDragged = true;
                _selectionStart = (DateTime) ParentSurface.RenderableSeries.First().HitTest(e.MousePoint).XValue;
            }
        }

_selectionStart should be a Date under the cursor where the user has just clicked. Instead it’s a Date approx. 40pixels to the right of where the user has just clicked because the Left YAxis is approx. 40 pixels, and the ModifierMouseArgs.MousePoint is considering the YAxis space into it’s X coordinate value.

So when I take that point and perform a HitTest, I am not getting the expected result here.

I will write a fix for this to take into account a Left Y Axis if one exists and modify the point’s X coordinate value, but I thought to give you a heads-up in case this is outside of expected functionality and is indeed a bug.

Cheers,
Miles

  • bstapylton asked 12 years ago
  • last active 1 year ago
0 votes
12k views

I’m trying to draw a swing chart, a blue zigzag line in the attached PNG, on top of a candlestick.

The problem is that the most recent swing low/high may turn out to be just a temporary swing low/high candidate actually, as a new data point arrives and it has a lower low or a higher high.

When it happens, I want to remove the recent swing low/high candidate, append a new candidate data point, and extend the swing line further.

Is there any other way to practically erase the recent swing low/high candidate, like updating it with NaN or something?

0 votes
13k views

Do you know a good way to print the hole chart to a printer?
Our first solution is to create a PNG from the chart and paste it into a PDF. But I have to stretch/resize the PNG to the paper size.
It exist a good way to direct paint?

Thanks for helping?
Marcel

  • Marcel asked 12 years ago
  • last active 2 years ago
1 vote
12k views

Hi guys,

I have two SciCharts, and a different custom modifier on each of them. I have utilised the Mouse:MouseManager.MouseEventGroup=”MySharedMouseGroup” logic to share mouse events between the two charts.

The problem is, I would like Chart A to handle its own MouseMove events, and share those to Chart B, but Chart B should handle its own MouseMove events (and those sent from Chart A obviously) but not send anything back to Chart A’s modifiers.

I have noticed that there are some base properties from UIElement called “IsMouseOver” which should let me handle this (i.e. in Chart B’s OnModifierMouseMove method it could check IsMouseOver and if false, simply return. That way, the message is still being shared between A and B, but B just ignores A’s messages), but unfortunately I find this IsMouseOver property to always be false, no matter where the pointer is.

How would you guys recommend I tackle this problem?

As an example of the problem, let’s say you have two SciCharts, each with their own RolloverModifier, and their ModifierGroup shares a MouseEventGroup “MySharedMouseGroup”.
You want one chart to display a rollover on both surfaces when the Mouse moves over it, but the other to display a rollover on just its own surface when the mouse is over it.

Cheers,
Miles

0 votes
9k views

Hi there,

we’re using SciChart with up to 4 y-axes per chart.

The y-axes take up quite a bit of horizontal space so we were wondering if there was any way to reduce the amount of space taken by e.g. displaying two axes on one vertical line.

What we mean is that axis A will have its tickmarks and numbers on the left side of the vertical line and axis B will have its tickmarks and numbers on the right side of the line.

Is such a thing possible at all with the current version of SciChart or do you have any other idea how one could reduce the amount of horizontal space taken up by the y-axes?

Best regards,
Joerg

1 vote
14k views

Hi, I would like to do Pan and Zoom using WPF 4 Multi touch manipulation events. I believe I need to implement a Modifier class to do that. But how should i invoke methods on the chart to do the zooming and panning? And also, when I zoom, I would like it to be in the centre of the manipulation, meaning i would like to zoom at a specific centre on the chart. Please advise. Thanks!

0 votes
14k views

I am using WPF with SciChart version 1.3.1.1107 and the MVVM pattern.
I am using a series of modifiers like the ZoomPanModifier in a similar manner to samples that you provide that I load from an attached behaviour.

I am adding a feature to adjust the visible range when new data points arrive that would not otherwise be visible; however, if a user pans the surface I want to detect that so I can stop adjusting the visible range.

My thinking is that I need to capture a mouse event either associated with the chart to the current modifier; however, nothing I seem to do allows me to capture a mouse event. If their is a better way I am open to that as well.

0 votes
11k views

Please see the attached image. In my chart I am zooming in. When I zoom in to very small area all tick labels are the same. I found that it goes maximum upto 3 decimal places. Is it possible to display more text with more decimal places when zoomed in instead of displaying same numbers? I am not setting TextFormatting property of numeric axis.

3 votes
16k views

I am currently adding line to a chart to show when a value is ON and using the gap in a series feature to indicate when the value is OFF. In order for this to work I need to update the chart every few seconds when the value is ON; however, I do not want to add additional points; instead I want to either update a point in the line series or I want to remove a point and then add a new point. In my case its the x-axis value that I need to change.

Can you please suggest if this is possible?
If yes I am also wondering how to best find a specific point in a line series.

0 votes
9k views

I haven’t found anywhere on the site where the new Visual Studio and .Net Framework is listed. Has there been any testing done up til now on it?

Any plans yet for when/if they will be supported?

2 votes
14k views

Hi!

I want SciChart to display always the first and last value of an axis. I created a chart wich shows volume on the y-axis and time in seconds on the y-axis. The axis are initialized in the view model with fixed axis dimensions like this:

this.TimeAxis = new NumericAxis();
this.TimeAxis.VisibleRange.SetMinMax(0, 60);
this.TimeAxis.AxisTitle = "Time [s]";
((AxisBase)this.TimeAxis).Style =        (Style)Application.Current.FindResource("DefaultSciChartAxisStyle");

this.VolumeAxis = new NumericAxis();
this.VolumeAxis.VisibleRange.SetMinMax(0, 8);
this.VolumeAxis.AxisTitle = "Volume [l]";
this.VolumeAxis.AxisAlignment = AxisAlignment.Left;
((AxisBase)this.VolumeAxis).Style = (Style)Application.Current.FindResource("DefaultSciChartAxisStyle");

How is it possible to display the first and last value of the axis as shown with red numbers in the attached example.png which are not shown by default?

Best regards,
Joerg

2 votes
14k views

Hi!

I would like to add a margin to the x-axis number so that they don’t stick on the axis anymore. See attached screenshot for detailed explanation.

Is that possible?

Best regards,
Joerg

0 votes
11k views

I have a very simple line chart with 1 X and 1 YAxis.I set the VisibleRange for each axis from MVVM.

I want to see the min and max axis labels on each axis.

For example, I set for AxisX the VisibleRange to 0.0, 10.0, and I want to see below the very left grid line the axis label with 0.0 and on the very right side 10.0. I see only labels from 1.0 up to 9.0.

I can’t figure out how to do that.

0 votes
0 answers
9k views

SciChart v1.3.5.1225 has been released on the 28th Aug 2012.

Full release notes and the MSI Installer can be found at http://www.scichart.com/downloads . Fixes and features in this version include:

Features

  • Added FastImpulseRenderableSeries – a new chart type which displays a vertical line from zero with optional point marker at the tip
  • Add, Remove, RemateAt methods added to IDataSeriesSet
  • RemoveAt added to IDataSeriesSet. No need to cast when removing series
  • Remove, RemoveAt, Insert API added to DataSeries
  • Added FastMountainRenderableSeries.IsDigitalLine property
  • Added SciChartSurface.ClipModifierSurfaceToBounds property, to clip annotations to chart bounds
  • Added AxisBase.IsPrimaryAxis, to allow dictation of which axis draws gridlines in a multi-axis scenario
  • Added requested features to rollover modifier. When rollover markets overlay hints for all markers are shown. When hint is out of Modifiersurface, hint is placed correctly.
  • Added requested feature for mouse-wheel zooming around the mouse-point
  • Added requested feature int IDataSeries.FindIndex(TX x)

Fixes

  • Fixed LegendModifier control templates, now obeys FontSize, FontWeight
  • Fixed ChartModifierBase.IsEnabled being ignored when set to false (not via binding) in a ModifierGroup
  • Fixed SelectedSeries bug in SciChartSurface
  • Fixed race condition: NullReferenceException on clear of dataseries
  • Fixed Rollover line stealing mouse input when clicking on points
  • Fixed BaseRenderableseries.IsSelectedProperty not defined as a public dependency property
  • Fixed bug with missing gridlines
  • Improved rollover tooltip placement
  • Fixed bug with axis labels overlapping, added 2px space between labels
  • Fixed exception when drag to right for first time
  • Fixed setting all properties DrawLabels, DrawGridLines on axis to false resulted in some gridlines persisting
  • Fixed issue in ECG Example where startup visible range on the Y-Axis was incorrect
  • Fixed LegendModifier not clearing on DataSeriesSet.Clear via workaround, by adding public RefreshLegend() method which you can call from code-behind
1 vote
11k views

Hi guys,

I am having trouble fixing up the XAxis labels and major gridlines.

My problem is, I have one data point per week – but the points are all on a Saturday, where the XAxis is showing me dates and major gridlines corresponding to Mondays.

Is there a way (without handling everything manually I hope!) where I can not only set the Major/Minor deltas, but also a date that the first Major Tick or Gridline starts on?

I have attached a screenshot to make my problem easier to understand; Although I have no interest in the 7th March, it is assigned a Major Gridline and a Label while my actual data point (5th March) is ignored, I would imagine, because it is not a Monday (first day of the week?).

If you’re wondering, yes the first point in this series is also a Saturday (26th June 2010) and the first Major Gridline appears on the 28th.

0 votes
12k views

I’ve developed a chart that plots a number of line series (typically up to 16). The chart works in a “sweep” motion – when the lines reach the r.h. side they start again from the left. This is accomplished by populating the series with the appropriate number of points (known in advance), then sequentially updating the series values as the data arrives from the external source. This results in an ECG chart style, where the previous sweep’s line is gradually overwritten as the points are updated.

There is now a requirement to place the chart into “overlay mode”, where each sweep line remains visible. Over time more and more lines will be superimposed on top of each other, allowing us to see variations in the data.

The only way I can think of doing this is to start each “sweep” as a new series in my DataSeriesSet, however I’m concerned about performance – charting could run for hours, and a sweep is typically 20 seconds – multiplied by the number of lines being plotted (up to 16). Is there a better way?
Assuming this is the approach to take, how would I manage the view’s RenderableSeries, which currently contains 16 hardcoded FastLineRenderableSeries? As I add new series to my DataSeriesSet, how would I also add to the RenderableSeries from the viewmodel?

Also, there is another requirement for an “averaging mode”, where each sweep plots the average of the data values from this and all previous sweeps. I can obviously calculate the averages in my viewmodel and plot these, but I wondered if SciChart contained any nifty feature to do such a thing automatically?!

0 votes
11k 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..

3 votes
15k views

Is there a way to have axis X placed vertically and Y horizontally? Other words rotate chart 90 degrees to the left or right.

  • sdvinin asked 12 years ago
  • last active 8 years ago
Showing 1 - 50 of 4k results