【问题标题】:Adding array to Chart only plots first value将数组添加到图表仅绘制第一个值
【发布时间】:2018-11-01 22:40:24
【问题描述】:

VB.net - 为什么只绘制一个点?

Dim ReceivedValue As String ="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20"
Dim myArray = Array.ConvertAll(ReceivedValue.Split(","c), AddressOf Convert.ToDouble)
Chart1.Series(0).Points.Add(myArray)

PS。我从here得到了情节数组的想法

【问题讨论】:

  • 一个点是两个值(X 和 Y)。这是一个单值数组(只是 X?)。你想怎么画这个?你想让他们配对吗?您是否为 X 或 Y 设置了值?您希望 X 或 Y 值成为数组中的索引吗?
  • 好问题,此时 x 无关紧要。它是参考波形,甚至没有显示任何标签或数字。

标签: vb.net


【解决方案1】:

我得到了和你一样的结果 - 图表上的一个点。检查图表的 Points 对象后,它看起来像这样:

显示一个包含一个 X=0 的数组和一个包含所有 Y 的数组。

如果你在这样的循环中执行它,它会起作用

For Each point In myArray
    Chart1.Series(0).Points.Add(point)
Next

现在有一系列实际的点

我将添加我认为更正确的内容,因为这会导致实际的 x、y 对与实际的 x 值(您可以随意制作它们)

For i = 0 To myArray.Count - 1
    Chart1.Series(0).Points.Add(New DataPoint(i, myArray(i)))
Next

【讨论】:

  • 好的,谢谢。那讲得通。我认为解决方案是要走的路。谢谢!
  • 所以如果我理解的话,所有的 Y 值都绘制在同一个 X 位置的顶部。
  • 是的,即使在循环添加时检查 Points 对象时,所有 Y 值也都有 X = 0,但由于某种原因,图表仍能绘制图表。
猜你喜欢
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多