2015-02-26 5 views
0

Я разрабатываю финансовое приложение, в котором мне нужно отображать данные на диаграмме с логарифмической шкалой по оси Y. Все работает отлично, за исключением интервалов. При следующем:VB2010 Настройка интервалов логарифмической шкалы

chart.ChartAreas(0).AxisY.IsLogarithmic = True 
chart.ChartAreas(0).AxisY.LogarithmBase = 10 
chart.ChartAreas(0).AxisY.Interval = 1 

chart.ChartAreas(0).AxisY.Minimum = CalcMinYVal(minYVal) 

Я получаю CalcMinYVal умноженное на 10^0,10^1,10^2,10^3 и так далее для значений Y-оси.

Я хотел бы, чтобы значения оси Y увеличивались на 1. Как я могу установить интервал ДЕЙСТВИТЕЛЬНО 1?

+0

Если значения оси Y будет увеличиваться на 1, будет все еще остаются логарифмическая шкала? или он станет линейным? –

+0

Надеюсь, это показывает, что я имею в виду. Я просто хочу показать значения между ними. Я знаю, что это не масштаб, а просто для графического отображения того, что я хочу. ! (Http://s3.postimg.org/3qxfutn3n/log_example.png). – Nick

+0

Чтобы это было просто, я не представляю CalcMinYval в логарифмическом (что мне получается) графике, но Base - 10 и Interval 1. – Nick

ответ

0

Вы можете включить MinorGrid свойство

chart.ChartAreas(0).AxisY.MinorGrid = True

показать горизонтальные линии между силами 10, как показано ниже.

enter image description here

Но есть ограничение в показывающий значение для каждого подразделения. Они могут появляться только в фиксированные интервалы времени, используя свойство Interval объекта LabelStyle.

Например, чтобы показать 10 подразделений, можно установить:

Chart.ChartAreas(0).AxisY.LabelStyle.Interval = 0.1

enter image description here

Число горизонтальных линий MinorGrid можно управлять при помощи его Interval Собственость:

Chart.ChartAreas(0).AxisY.MinorGrid.Interval = 1 

и значения этикеток могут быть круглыми эд с помощью format свойства:

Chart.ChartAreas(0).AxisY.LabelStyle.Format = "{0.0}" 
Смежные вопросы