随笔 - 59, 文章 - 14, 评论 - 21, 阅读 - 67235
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计图控件dotnetCharting和ZedGraph比较

Posted on   james.dong  阅读(875)  评论(1编辑  收藏  举报

最近考察了几个统计图表控件包,开源的有ZedGraphNplot等,但是相比之下还是ZedGraph强大,方便一些,其他的感觉还是半成品。收费的就多了,只要是商业的报表开发工具都有统计图表的功能,水晶报表,ActiveReportReporting Service,不过要方便,功能单一的还是dotnetCharting。下面主要从winform使用上说说ZedGraphdotnetCharting

 

从效果上说dotnetCharting确实没的说,水晶式效果很是炫目,这应该是其最大的卖点。为了便于开发者学习,带了各种效果的示例代码。DotnetCharting在生成统计图的时候需要设置一个临时目录,用来保存生成的统计图的图片,dotnetCharting的图表效果好,很大程度上是因为它生成了图片,然后将其显示在界面上。当然,作为代价,它牺牲了性能。同时,它不支持缩放,虽然你可以通过更改坐标轴的刻度来实现这个功能,但是性能上就差了很多。

如果你对性能要求不高,dotnetCharting是非常好的选择。

 

ZedGraph最大的卖点在哪里?应该是开源,你可以修改代码以适应自己的需求,例如:ZedGraph在画线型图的时候,线条没有使用抗锯齿,你只要修改Line类的Default结构中的默认设置就可以了。和dotnetCharting相比,ZedGraph的效果要差一些,不过,要是自己调整的好,也还不错,但是ZedGraph的优势不在这里。

 

由于ZedGraph是使用GDI+直接在Canvas上进行描画,所以,性能得到了保证,如果你改变坐标轴的刻度,和dotnetCharing相比,ZedGraph的反应速度是很快的。基于此,ZedGraph提供了很重要的缩放和拖动功能,你可以通过鼠标滚轮进行方法,缩小图表,可以通过鼠标中键来拖动,非常方便。

 

对于类似股市的实时走势,cpu使用率等实时变化的数据,使用ZedGraph也可以很方便地作到。ZedGraph在基于PointPairList作画,所以你只要在PointPairList这个集合中添加新的数据,然后进行重画就可以实现了,对于性能,上面说了,由于是直接使用GDI+,性能是比较好的,我测过400个点是没问题的。所以,ZedGraph对于实时要求比较强的需求也是可以应对的。

 

总的来说,dotnetCHARTING生成的图表效果好,但是性能方面较差,对实时要求强的需求不适应。ZedGraph开源,效果比起dotnetCHARTING差,但是性能好,能适应有实时要求的数据。

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示