2012-05-17 2 views
0

Я делаю график, который имеет как первичную, так и вторичную ось y, но при масштабировании диаграммы только первичная ось x и основная ось y масштабируются, а полоса прокрутки не отображается на вторичной Y ОсиКак увеличить вторичную ось y в mschart

 chrtarea.CursorX.IsUserEnabled = true; 
     chrtarea.CursorX.IsUserSelectionEnabled = true; 
     chrtarea.CursorY.IsUserEnabled = true; 
     chrtarea.CursorY.IsUserSelectionEnabled = true; 

     chrtarea.AxisX.ScaleView.Zoomable = true; 
     chrtarea.AxisY.ScaleView.Zoomable = true; 
     chrtarea.AxisY2.ScaleView.Zoomable = true; 

Есть проблемы с кодом. Пожалуйста, расскажите, как это сделать.

+0

Do у вас есть свойство 'ScrollBar.Enabled' в обоих' Axes' установлено 'true'? – Saint

+0

Да, свойство уже установлено в true –

ответ

0

Я понимаю, что этот вопрос старый, но сегодня я столкнулся с этим.

Единственный способом я мог достичь масштабируемой вторичной оси Y был изменить максимальный и минимальные вторичную ось Y, чтобы изменить, когда изменяется вид оси:

private void ChartMainAxisViewChanged(object sender, ViewEventArgs e) 
{ 
    chartMain.ChartAreas[0].AxisY2.ScaleView.Position = chartMain.ChartAreas[0].AxisY.ScaleView.Position/10.0; 
    chartMain.ChartAreas[0].AxisY2.Minimum = chartMain.ChartAreas[0].AxisY.ScaleView.ViewMinimum/10.0; 
    chartMain.ChartAreas[0].AxisY2.Maximum = chartMain.ChartAreas[0].AxisY.ScaleView.ViewMaximum/10.0; 
    chartMain.ChartAreas[0].AxisY2.Interval = chartMain.ChartAreas[0].AxisY.Interval/10.0; 
    chartMain.ChartAreas[0].AxisY2.IntervalOffset = chartMain.ChartAreas[0].AxisY.IntervalOffset/10.0; 
} 

это зависит от наличия соотношения масштаба между ось Y и ось Y2. Шахта оказалась 10: 1, поэтому ее легко конвертировать, но если ваша динамика, вам нужно будет рассчитать соотношение.

Последние две строки также выравнивают интервалы, но вам это не понадобится, если вы не хотите выровнять интервалы.

0

Я понимаю, что этот вопрос старый, но я столкнулся с этим сегодня.

Вы можете переключиться беглыми работать с вторичной осью (AxisY2):

chartarea.CursorY.AxisType = System.Windows.Forms.DataVisualization.Charting.AxisType.Secondary; 

Это будет отключить масштабирование на первичных осях Y, так что если вы хотите быть масштабированием на оба, прилипает к ответу Erresen в

Смежные вопросы