SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, and now iOS Charting & Android Chart Components
Please use the forums below to ask questions about SciChart. Take a moment to read our Question asking guidelines on how to ask a good question and our support policy. We also have a tag=SciChart on Stackoverflow.com where you can earn rep for your questions!
Please note: SciChart team will only answer questions from customers with active support subscriptions. Expired support questions will be ignored. If your support status shows incorrectly, contact us and we will be glad to help.
I have several chart panes that share a mouse group and a shared visual range (I inject the shared visual range of type IRange in the constructor of the pane view model). I then set the XAxis visual range to the shared visual range inside each pane view model. However, when I use either of the below approaches outside of the pane view model to adjust the min and max of shared visual range, the Xaxis.VisualRange of each pane does not reflect that change.
Approach A: _sharedVisualRange.Min = ….; _sharedVisualRange.Max = …
Approach B: _sharedVisualRange.SetMinMax(….)
Neither approach actually impacts the XAxis.VisualRange.Min/Max.
Initially when I created the XAxis in code I set its VisualRange equal to the shared visual range that was injected via constructor, like :
XAxis = new CategoryDateTimeAxis()
VisualRange = _sharedVisualRange,
Please note that all the above refers to code in the view model. I bind the XAxis in the pane view model to the XAxis of the surface in xaml.
My entire synchronization heavily relies on the assumption of this working, but it does not.
our app is about Futures. we will buy license for IOS and Android.
we found some question.
so we need show very small values, like Euro exchange’s values will be from 1.1981 to 1.2008.
its Tick Size is 0.0001 .
but we use LogarithmicNumericAxis with OhlcDataSeries<Date, Double> , surface still linear scale.
how to custom LogarithmicNumericAxis’s “TextFormatting” like “$0.0000”
I am trying to use SciChart library for my project and find out whether it satisfy all requirements.
I am currently trying to display the ECG signal. Therefore the data is coming in realtime.
I have the following configuration
final NumericAxis xAxis = mSciChartBuilder .newNumericAxis() .withAxisTitle("Time (seconds)") .withDrawLabels(false) .withDrawMajorTicks(false) .withDrawMinorTicks(false) .withDrawMajorBands(false) .withDrawMajorGridLines(false) .withDrawMinorGridLines(false) // .withVisibleRange(0, 2040) .withAutoRangeMode(AutoRange.Always) //.withAutoRangeMode(AutoRange.Never) .build(); final NumericAxis yAxis = mSciChartBuilder .newNumericAxis() .withAxisTitle("Voltage (mV)") // .withGrowBy(0.1d, 0.1d) .withDrawLabels(false) .withDrawMajorTicks(false) .withDrawMinorTicks(false) .withDrawMajorBands(false) .withDrawMajorGridLines(false) .withDrawMinorGridLines(false) .withVisibleRange(Short.MIN_VALUE, Short.MAX_VALUE) .build();
It works but the X axis a little bit scaled/compress.
Here is the result
enter image description here
I need to make it a bit wider.
How can I do this ?
I have tried to set range manually like that
However in this case it doesn’t show anything.
I would be grateful for any help.
I have two charts (separate SciChartSurface via SciChartGroup) stacked on top of each other. Each chart has its own X-Axis and both charts’ mouse interaction are linked via MouseGroupId. All fine so far.
I then generate a lineseries ‘series1’ on the first surface, 1000 datapoints, time stamps are 1 minute apart. I also generate a second line series ‘series2′ on the second surface, but this series’ first time timestamp start 2 hours later than the first series.
Expected behavior is that the series2 will be shifted by 2 hours and not start at the same position as series1 but rather extend by 2 hours. That is, however, not the case on my chart.
What is wrong here and is this a potential bug?
I need both XAxes to be perfectly aligned, meaning the cross hair label on each XAxis displays the exact same time stamp. Please note that I customized the LabelProvider to display milliseconds also, but I use the same Label Provider for both charts, so no difference here.
Can someone please chime in what is going on?
Please see attached charts to illustrate what I have been describing (screenshot1 shows intended behavior but on the same chart, I want this behavior to occur on separate panes/charts). Screenshot 2 describes the problem I am having.
I have DateAxis as X Axis, so I want to trigger a button to zoom In/Out to a specific time at the latest plotted point (Price).
Example: I have zoom button 30 minutes, 15 minutes, 5 minutes and 2 minutes….
Because we have limited vertical space, I would like to change the position of the x-axis title.
Ideally, to the right of the x-axis values.
Using code behind, this was sort of possible, but we would like to do it using xaml.
Also, the code behind solution had problems when resizing the chart.
Is this possible?