Как создать 3 Y-оси на графике Chart? - VB
Формулировка задачи:
Добрый день.
Как создать 3 Y-оси на графике Chart?
Пример на картинке.
Сделал две Y-оси с помощью "AxisType.Primary" и "AxisType.Secondary", нужна еще 1.
Прошерстил msdn и гугл, нашел статью на немецком (с#), понял из нее, что автор предлагает использовать отдельные chart.areas для осей и для главного блока, где рисуются кривые, так как оси не отделяются от chart.
(ссылка на статью http://www.just-about.net/how-to-dar...reren-y-achsen
если кто лучше поймет, поделитесь выводами).
Есть коды для этой проблемки для ASP.net и немного для c# в разных местах гугла(на английском), но я в них не очень понимаю, если кто поймет просьба пересказать сие.
пример на С#:http://stackoverflow.com/questions/1...axis-3-or-more
В ASP помоему использовали subaxes словечки.
Можно конечно скачать уже что то готовое , chart библиотеки и прочее.
Кто сталкивался?
Листинг программы
- Private Sub input_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles build.Click
- 'Button to Scale axis
- NumericUpDown1.Minimum = 0
- NumericUpDown1.Maximum = 100
- 'Add series
- Chart1.Series.Clear()
- Chart1.Series.Add("A")
- Chart1.Series.Add("B")
- Chart1.Series.Add("C")
- 'Primary Axis
- Chart1.ChartAreas("ChartArea1").AxisX.Minimum = 0
- Chart1.ChartAreas("ChartArea1").AxisX.Maximum = 10
- Chart1.ChartAreas("ChartArea1").AxisX.Interval = 1
- Chart1.ChartAreas("ChartArea1").AxisX.Title = "x"
- Chart1.ChartAreas("ChartArea1").AxisY.Minimum = 0
- Chart1.ChartAreas("ChartArea1").AxisY.Maximum = 10
- Chart1.ChartAreas("ChartArea1").AxisY.Interval = 1
- Chart1.ChartAreas("ChartArea1").AxisY.Title = "y"
- 'Secondary axis
- Chart1.ChartAreas("ChartArea1").AxisX2.Enabled = DataVisualization.Charting.AxisEnabled.True
- Chart1.ChartAreas("ChartArea1").AxisY2.Enabled = DataVisualization.Charting.AxisEnabled.True
- Chart1.ChartAreas("ChartArea1").AxisX2.Minimum = 0
- Chart1.ChartAreas("ChartArea1").AxisX2.Maximum = 10
- Chart1.ChartAreas("ChartArea1").AxisX2.Interval = 1
- Chart1.ChartAreas("ChartArea1").AxisX2.Title = "x2"
- Chart1.ChartAreas("ChartArea1").AxisY2.Minimum = 0
- Chart1.ChartAreas("ChartArea1").AxisY2.Maximum = 10
- Chart1.ChartAreas("ChartArea1").AxisY2.Interval = 1
- Chart1.ChartAreas("ChartArea1").AxisY2.Title = "y2"
- 'Which series use which axis
- Chart1.Series("A").YAxisType = DataVisualization.Charting.AxisType.Primary
- Chart1.Series("B").YAxisType = DataVisualization.Charting.AxisType.Secondary
- 'add series
- Chart1.Series("A").ChartType = DataVisualization.Charting.SeriesChartType.Line
- Chart1.Series("B").ChartType = DataVisualization.Charting.SeriesChartType.Line
- Chart1.Series("C").ChartType = DataVisualization.Charting.SeriesChartType.Line
- Chart1.Series("A").Points.Clear()
- Chart1.Series("B").Points.Clear()
- Chart1.Series("C").Points.Clear()
- 'data for series from datagridview
- For Count As Integer = 0 To DataGridView1.Rows.Count - 1
- Chart1.Series("A").Points.AddXY(DataGridView1.Item(0, Count).Value, DataGridView1.Item(1, Count).Value)
- Next
- For Count As Integer = 0 To DataGridView1.Rows.Count - 1
- Chart1.Series("B").Points.AddXY(DataGridView1(2, Count).Value, DataGridView1(3, Count).Value)
- Next
- For Count As Integer = 0 To DataGridView1.Rows.Count - 1
- Chart1.Series("C").Points.AddXY(DataGridView1(3, Count).Value, DataGridView1(4, Count).Value)
- Next
- End Sub
Решение задачи: «Как создать 3 Y-оси на графике Chart?»
textual
Листинг программы
- Dim myPane As GraphPane = zg1.GraphPane
- ' Ставим две главные оси
- myPane.Title.Text = "Demonstration of Dual Y Graph"
- myPane.XAxis.Title.Text = "Time, Days"
- myPane.YAxis.Title.Text = "Parameter A"
- myPane.Y2Axis.Title.Text = "Parameter B"
- 'добавляем дополнительную ось Y с индексом yax3
- Dim yax3 = myPane.AddYAxis("Parameter C")
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д