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

Welcome to the SciChart Community Forums!

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 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 a problem with FastColumnRenderableSeries. It automatically sets min range on Y scale as lowest value of data. But I need min range on Y scale to be 0. How can I achive that easily?

Additional question: How may I set max value of Y scale? In case if there are rare occasions of extraordinary huge volume periods, which would make all other volumes look tiny.

  • You must to post comments

Please look at first screenshot. The volume of a bar where crosshair is about 3500 k, but for me it looks like zero, because Autorange starts Y scale from 3500 as minimal value of bars in visual range. I like how Autorange works for max limit, so I don’t want to switch it off completly, I just want minimal value of Y scale to be always 0.

I also tried your example. To make it change anything, I have to make Autorange=”Never”, and here what I gets:

            <s:NumericAxis VisibleRangeLimit="0, 99999999999"
                           AutoRange="Never" />

Please look at screenshot. It always limits max on Y scale as 10.

  • Andrew
    Hi RTrade, Ok the best possible way for you to do this is to handle AxisBase.VisibleRangeChanged, and set VisibleRange.Min to 0 whenever the event fires. If you want to do this neatly, you could wrap it up into an attached property.
  • RTrade A
    Ok. Worked this way:private void NumericAxis_VisibleRangeChanged(object sender, Abt.Controls.SciChart.VisibleRangeChangedEventArgs e) { int max = (int)(double)e.NewVisibleRange.Max; e.NewVisibleRange.SetMinMax(0, max); } Any obvious inefficiency in this code?
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.