.NET图表:C1Chart和FlexChart的对比分析(上)

发布时间:2016/08/20 00:08 发布者:alice

返回博客中心

2016V2版本正式发布了,随之,FlexChart吸引了大家的眼球。我们知道.NET中已经有C1Chart图表控件,那么FlexChart这到底是个什么样的控件,作为.NET图表控件的后起之秀,能为我们带来什么?

本文就来对比分析C1Chart和FlexChart新旧两大图表控件,方便用户选择。

FlexChart是一个完全崭新的图表控件,它的开发是为了满足.NET图表的需求。、

  • FlexChart极其罕见的将可用性,灵活性和强大的性能与丰富的开箱即用功能协调在一起。
  • FlexChart比C1Chart更轻量级和快速,不管面对的是小数据还是大数据。
  • 除了原生渲染方式,FlexChart支持DirectX渲染方式。
  • 使用简单易用的API意味着你将能够扩展和自定义控件。

更重要的是,FlexChart在多个平台可用(WinForms, WPF, UWP, MVC, 和LightSwitch, 还支持HTML5/JavascriptiOS, Android, and Xamarin)。

FlexChart和C1Chart的区别

随着2016V2版本的发布,C1Chart会逐渐退居二线,将在WinForms,WPF和UWP平台下积极发展新的FlexChart控件。本文我们通过FlexChart的新功能和增进,提供一些经验。

下载C1Studio

功能包括强大的、灵活的数据绑定;几十种图标类型;系列切换;自定义调色板;辅助轴;自定义工具提示。

我们将介绍如下部分:

  • 通用API
  • 优越的性能
  • 渲染选择
  • 范围选择工具
  • 内置选择支持
  • 图例切换
  • 轴标签自动旋转
  • 多数据源
  • 组合图表
  • 多轴

本文将介绍前七个部分。

通用API

FlexChart的对象模型是FlexChart超过其他图表控件的最大优势。

易于使用的API使得它只需很少时间,更容易在绘制从基础到高级的图表。由于需求(工具提示自定义、Hittest、数据标签等)的代码简化大幅度减少学习曲线。

除了简单易用的API,相对C1Chart,FlexChart也更加简洁。不需要遵循巨大的属性链来设置图表或是使用不同的图表功能。

比如,在图表里添加新的序列,C1Chart的代码如下:

var series = c1Chart.ChartGroups.Group0.ChartData.SeriesList.AddNewSeries();

 

在FlexChart中的代码:

var series = new Series();
flexChart.Series.Add(series);

 

优越的性能

C1Chart控件主要的卖点就是它的高性能。

然而,ComponentOne一直相信的事实,“总有改进的空间”。坚持这样的信念,我们很大的提高了flexchart的性能。优化尺寸和速度,FlexChart是市场上最快和最轻量的图表控件。

WPF 图表性能比较

 

新性能

使用DirectX,GDI+和Direct2D的渲染方式

FlexChart可以灵活性选择本地或DirectX渲染,根据选择的RenderMode,不管使用小数据或是大数据绘制图表,都会得到越来越好的性能。

  • WinForms选项:默认GDI+和DirectX
  • UWP选项:默认GDI+和Direct2D
  • WPF选项:默认GDI+和Direct2D

范围选择

新的RangeSelector工具支持的选择部分数据显示在图表。当你在图表上绘制了大量的数据,专注于一定范围的数据或一定时期的数据,使用RangeSelector工具分析变得更容易。你也通过添加这个滑块类工具增加FlexChart的交互性。

 

内置选择支持

FlexChart需要额外的代码,内置支持了选择。通过启用选择模式,可以允许用户选择一个特定的数据点或一系列包含数据点本身的系列或数据点。

选择数据点/序列提供了SelectionStyle属性,可以指定样式将其与其他绘制元素区分开来。此外,可以编写代码来显示与选定的数据点/系列相关的信息。

图例切换

允许用户切换显示的系列的可见性。当图表上绘制的一系列数字,用户可以集中在一个或几个,通过简单地点击一个图例项目隐藏或显示相应的系列在绘图区。

轴标签自动旋转

FlexChart现在可以灵活地决定是否在水平或竖直的方式渲染标签,取决于可用空间。

这是一个小功能,但大大降低了编码量:你只需要指定LabelAngle属性为Double.NaN。

本文的上部分介绍完毕,如果有更多的兴趣,请继续阅读下部分。

 

更多资源:

FlexChart控件介绍:/developer/componentone/flexchart

FlexChart在线演示:/developer/componentone/flexchart

FlexChart产品文档:http://helpcentral.componentone.com/nethelp/FlexChartWin/FlexChartFundamentals.html

FlexChart各个平台的功能:http://helpcentral.componentone.com/nethelp/FlexChartWin/FeatureComparison.html

如果依然有问题,可以到我们的官方产品论坛发帖咨询:http://gcdn.grapecity.com.cn/showforum-140.html


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网