1

我想制作一个具有以下要求的二维散点图;

  • “点”不应该是点,而是指向向上或向下的箭头,具体取决于它所代表的数据。
  • 应该可以指定要在轴上显示的值。
  • 用户应该能够在图表上进行缩放和平移。
  • 我希望能够指定每个箭头应该有什么颜色。
  • 箭头应该是可点击的(即我需要一些方法来注册点击事件并决定点击了哪个箭头)。

我曾尝试使用 ZedGraph 来实现这一点,但我发现很难得到我想要的,尤其是第一个要求。

是否有一个免费的图表库可以让我在 WinForms 中相对容易地做到这一点?或者,关于如何使用 ZedGraph 完成第一个要求的任何一般提示?

4

2 回答 2

1

我现在了解到所有需求都可以使用 ZedGraph 来完成。

“点”不应该是点,而是指向向上或向下的箭头,具体取决于它所代表的数据。

最干净的解决方案是使用 LineItem 并执行自定义符号类型,就像这篇文章自定义 ZedGraph LineItem 的符号类型一样

应该可以指定要在轴上显示的值。

一个简单的解决方案是使用 TextLabels 并手动将它们放置在您想要的位置。

用户应该能够在图表上进行缩放和平移。

ZedGraph 内置的功能。

我希望能够指定每个箭头应该有什么颜色。

可以为每种颜色创建多个 LineItem,但这要求线条本身不可见。

箭头应该是可点击的(即我需要一些方法来注册点击事件并决定点击了哪个箭头)。

使用 Click 事件和 FindNearestPoint 方法轻松制作。

于 2012-08-09T11:56:32.537 回答
1

在 Zedgraph 示例中,有一个使用 ects 向数据点添加文本标签的示例TextObj您可以在此处找到此演示示例。

基于此示例,您应该能够使用ArrowObj ects而不是ects 在所需位置创建向上和向下箭头TextObj

于 2012-08-09T09:29:27.777 回答