使用箭头而不是“点”的2D散点图

时间:2012-08-08 09:57:26

标签: c# .net data-visualization zedgraph scatter-plot

我想制作符合以下要求的二维散点图;

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

我试图使用ZedGraph来实现这一目标,但我发现很难得到我想要的东西,特别是第一个要求。

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

2 个答案:

答案 0 :(得分:1)

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

根据此示例,您应该可以使用ArrowObj而不是TextObj来创建所需位置的向上和向下箭头。

答案 1 :(得分:1)

我现在已经了解到所有要求都可以使用ZedGraph完成。

  

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

最干净的解决方案是使用LineItem并执行自定义符号类型,就像在此帖Customize symbol type of a ZedGraph LineItem中一样。

  

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

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

  

用户应该可以缩放和平移图表。

ZedGraph内置的功能。

  

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

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

  

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

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