2015-08-05 5 views
3

Я хочу установить максимальное и минимальное значения осей. Следующий код действителен только для одной оси Y. Я хочу установить 3 Y-Axis.Как установить диапазон Y-осей в Zedgraph?

graphPane1.YAxis.Scale.Min = 0; 

graphPane1.YAxis.Scale.Max = 100; 

Вот мои коды:

var y1 = graphPane1.AddYAxis("YAxis-1"); 

var y2 = graphPane1.AddYAxis("YAxis-2"); 

var y3 = graphPane1.AddYAxis("YAxis-3"); 

LineItem myCurve1 = graphPane1.AddCurve(txtPlotTitle.Text, first_pointsList, Color.Blue, SymbolType.None); 
myCurve.YAxisIndex = y1; 

LineItem myCurve2 = graphPane1.AddCurve(txtPlotTitle.Text, second_pointsList, Color.Yellow, SymbolType.None); 
myCurve.YAxisIndex = y2; 

LineItem myCurve3 = graphPane1.AddCurve(txtPlotTitle.Text, third_pointsList, Color.Green, SymbolType.None); 
myCurve.YAxisIndex = y3; 

Edit: Когда я пытаюсь запустить этот код, программа дала ошибку. Также я хочу, чтобы графики автоматически масштабировались, когда я ничего не пишу в текстовых окнах. Я пробовал, если цикл для этого, но он не работает.

var y1 = graphPane1.AddYAxis("YAxis-1"); 
var y2 = graphPane1.AddYAxis("YAxis-2"); 
var y3 = graphPane1.AddYAxis("YAxis-3"); 

LineItem myCurve1 = graphPane1.AddCurve(txtPlotTitle.Text, first_pointsList, Color.Blue, SymbolType.None); 

myCurve.YAxisIndex = y1;   

graphPane1.YAxisList[y1].Scale.Min = double.Parse(textBox1.Text); 
graphPane1.YAxisList[y1].Scale.Max = double.Parse(textBox2.Text); 

LineItem myCurve2 = graphPane1.AddCurve(txtPlotTitle.Text, second_pointsList, Color.Yellow, SymbolType.None); 

myCurve2.YAxisIndex = y2; 
graphPane1.YAxisList[y2].Scale.Min = double.Parse(textBox3.Text); 
graphPane1.YAxisList[y2].Scale.Max = double.Parse(textBox4.Text); 

LineItem myCurve3 = graphPane1.AddCurve(txtPlotTitle.Text, third_pointsList, Color.Green, SymbolType.None); 

myCurve3.YAxisIndex = y3; 
graphPane1.YAxisList[y3].Scale.Min = double.Parse(textBox5.Text); 
graphPane1.YAxisList[y3].Scale.Max = double.Parse(textBox6.Text); 

ответ

1

Вы можете перебрать их в вашем graphPane:

foreach(var axis in graphPane1.YAxisList) 
{ 
    axis.Scale.Min = 0; 
    axis.Scale.Max = 100; 
} 

EDIT ответить OP в комментарии:

Вы индексы хранятся в y1, y2 и y3, так что вы можете легко получить доступ их индивидуально:

graphPane1.YAxisList[y2].Scale.Max = 500 // set Max of y2 to 500 
+0

Но я хотят разные шкалы для разных осей. Например; YAxis-1 между 0-100 и YAxis-2 между 0-600. –

+0

@Alptekinipek Отредактировал мой ответ. –

+0

Спасибо за ваш ответ, но теперь у меня другая проблема. Я редактировал вопрос. –

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