【问题标题】:Making a good XY (scatter) chart in VB6在VB6中制作一个好的XY(散点图)图
【发布时间】:2011-02-18 18:11:06
【问题描述】:

我需要在 VB6 中编写一个应用程序,用一系列数据点绘制散点图。

当前工作流程:

  • 用户输入信息。
  • 一堆计算失败了。
  • 输出数据显示在一系列 10 个列表框中。
  • 每次单击“计算”按钮时,都会在列表框中输入 2 到 9 个条目。
  • 一个列表框包含 x 坐标。
  • 一个列表框包含 y 坐标。

我需要:

  • 浏览这些列表框,然后选择我的 x 和 y。
  • 另一个列表框字段会不时更改,在 0 和 100 之间变化,而该字段需要区分 x 和 y 进入最终图表中的哪个系列。所以我将有 1 个系列有六个 (x,y) 数据点,系列 26 有六个数据点,系列 99 有六个数据点,等等。或八个数据点。或两个数据点。用户控制有多少 x。
  • 理想情况下,我会有一个包含多个系列的图表来显示所有这些信息。

我不允许使用第 3 方解决方案(例如 Excel)。这一切都必须包含在 VB6 应用程序中。

我目前正在尝试使用 MS Chart 来执行此操作,因为这方面的文档似乎最多。但是,这似乎侧重于饼图和其他不相关的可视化。

我完全愿意使用 MS Graph,但我不了解该工具,也找不到好的文档。

我认为 2D 数组是行不通的,因为它需要具有不断动态变化的大小,而这是无法做到的(或者有人告诉我)。理想情况下,我会剔除运行,按第三个系列参数对数据进行排序,然后插入 x 和 y,但我发现 MS Chart 的命令和结构非常密集,以至于我只是跑来跑去非常小的圆圈。


编辑:如果您可以可视化我的数据的样子,这可能会有所帮助。 (S 代表系列,由数字组成。)

S X Y
1 0 1000000
1 2 500000
1 4 250000
1 6 100000

2 0 1000000
2 2 6500
2 4 5444
2 6 1111

【问题讨论】:

  • 为什么不打开另一个表格,直接用 pset / line 在上面画图呢?这太慢了吗?
  • 不是速度的问题,只是上天传下来的要求。

标签: visual-studio graph vb6 mschart


【解决方案1】:

我不知道 MSGraph,但我确信 VB6 中有某种画布元素,您可以使用它自己轻松绘制点。散点图是您自己制作的简单图表,只要您不需要计算最佳拟合线即可。

如果您找不到适合您的工具,我建议您查看画布元素并手动完成。

【讨论】:

  • 感谢您的建议,听起来很像 BlackBear 上面所说的。我很受诱惑,但从长远来看,我认为这将是一个更乏味的解决方案,即使让 MS Chart 工作确实需要我四年的时间。一旦我让它工作,我将来就可以将它用于更复杂的图形(我必须做的事情),我可以轻松地更改两行代码中的参数来创建一个新图形,而不是让重新绘制一遍,或者为条形图、饼图等编写代码。我猜是教我钓鱼。
【解决方案2】:

结论:MSChart 和 MSGraph 都可以吃柠檬。我辛勤劳作,从任何一个中都得到了一大堆一无所获。我知道他们可以做散点图,但我肯定不能让他们做好。

@黑熊!在发现我的前任有同样的问题并且只是使用 Pset 和 Line 制作了一些非常令人印象深刻的图表之后,我做了同样的事情 - 即使它在未来无法重现和通用。可行的解决方案,尽管功能较少>>仅存在于神话中的具有强大功能的解决方案。

如果有人正在阅读这篇文章并有关于散点图和 MSChart/Graph 的实际答案,我仍然很想知道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多