Как создать 3 Y-оси на графике Chart? - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день. Как создать 3 Y-оси на графике Chart? Пример на картинке. Сделал две Y-оси с помощью "AxisType.Primary" и "AxisType.Secondary", нужна еще 1.
Листинг программы
  1. Private Sub input_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles build.Click
  2. 'Button to Scale axis
  3. NumericUpDown1.Minimum = 0
  4. NumericUpDown1.Maximum = 100
  5. 'Add series
  6. Chart1.Series.Clear()
  7. Chart1.Series.Add("A")
  8. Chart1.Series.Add("B")
  9. Chart1.Series.Add("C")
  10. 'Primary Axis
  11. Chart1.ChartAreas("ChartArea1").AxisX.Minimum = 0
  12. Chart1.ChartAreas("ChartArea1").AxisX.Maximum = 10
  13. Chart1.ChartAreas("ChartArea1").AxisX.Interval = 1
  14. Chart1.ChartAreas("ChartArea1").AxisX.Title = "x"
  15. Chart1.ChartAreas("ChartArea1").AxisY.Minimum = 0
  16. Chart1.ChartAreas("ChartArea1").AxisY.Maximum = 10
  17. Chart1.ChartAreas("ChartArea1").AxisY.Interval = 1
  18. Chart1.ChartAreas("ChartArea1").AxisY.Title = "y"
  19. 'Secondary axis
  20. Chart1.ChartAreas("ChartArea1").AxisX2.Enabled = DataVisualization.Charting.AxisEnabled.True
  21. Chart1.ChartAreas("ChartArea1").AxisY2.Enabled = DataVisualization.Charting.AxisEnabled.True
  22. Chart1.ChartAreas("ChartArea1").AxisX2.Minimum = 0
  23. Chart1.ChartAreas("ChartArea1").AxisX2.Maximum = 10
  24. Chart1.ChartAreas("ChartArea1").AxisX2.Interval = 1
  25. Chart1.ChartAreas("ChartArea1").AxisX2.Title = "x2"
  26. Chart1.ChartAreas("ChartArea1").AxisY2.Minimum = 0
  27. Chart1.ChartAreas("ChartArea1").AxisY2.Maximum = 10
  28. Chart1.ChartAreas("ChartArea1").AxisY2.Interval = 1
  29. Chart1.ChartAreas("ChartArea1").AxisY2.Title = "y2"
  30. 'Which series use which axis
  31. Chart1.Series("A").YAxisType = DataVisualization.Charting.AxisType.Primary
  32. Chart1.Series("B").YAxisType = DataVisualization.Charting.AxisType.Secondary
  33. 'add series
  34. Chart1.Series("A").ChartType = DataVisualization.Charting.SeriesChartType.Line
  35. Chart1.Series("B").ChartType = DataVisualization.Charting.SeriesChartType.Line
  36. Chart1.Series("C").ChartType = DataVisualization.Charting.SeriesChartType.Line
  37. Chart1.Series("A").Points.Clear()
  38. Chart1.Series("B").Points.Clear()
  39. Chart1.Series("C").Points.Clear()
  40. 'data for series from datagridview
  41. For Count As Integer = 0 To DataGridView1.Rows.Count - 1
  42. Chart1.Series("A").Points.AddXY(DataGridView1.Item(0, Count).Value, DataGridView1.Item(1, Count).Value)
  43. Next
  44. For Count As Integer = 0 To DataGridView1.Rows.Count - 1
  45. Chart1.Series("B").Points.AddXY(DataGridView1(2, Count).Value, DataGridView1(3, Count).Value)
  46. Next
  47. For Count As Integer = 0 To DataGridView1.Rows.Count - 1
  48. Chart1.Series("C").Points.AddXY(DataGridView1(3, Count).Value, DataGridView1(4, Count).Value)
  49. Next
  50. End Sub
Прошерстил 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 библиотеки и прочее. Кто сталкивался?

Решение задачи: «Как создать 3 Y-оси на графике Chart?»

textual
Листинг программы
  1.  Dim myPane As GraphPane = zg1.GraphPane
  2.  
  3.         ' Ставим две главные оси
  4.         myPane.Title.Text = "Demonstration of Dual Y Graph"
  5.         myPane.XAxis.Title.Text = "Time, Days"
  6.         myPane.YAxis.Title.Text = "Parameter A"
  7.         myPane.Y2Axis.Title.Text = "Parameter B"
  8. 'добавляем дополнительную ось Y с индексом yax3
  9.         Dim yax3 = myPane.AddYAxis("Parameter C")

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы