`
wanghetommy
  • 浏览: 30584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ichartjs图表组件架构一览

阅读更多

前言

ichartjs采用了HTML5的canvas绘制图表,同时一些辅助组件(提示框,十字形)利用HTML的Div构建。这样兼顾了图表灵活性以及高性能。本文就ichartjs的组件架构做逐一的介绍 ,以便大家能更好的了解和使用ichartjs。

 

架构图一览

 

组件说明

核心类

Element :组件顶级父类,定义了初始化顺序,以及配置特性。
Painter :画图的抽象类,定义了绘图行为属性。
Chart :图表的抽象类,定义了图表的基本属性。搭建基本图表骨架,构造公告组件(标题、子标题、脚注、图例)
Component :图表组件的父类,定义了绘图接口以及响应事件的特性。
Html :所有以HTML方式构建的组件的父类,定义了基本CSS属性。且具有Transition动画特性。

图表类

Bar :定义了条形图的基本属性,坐标系初始化,以及数据解析。

Bar2D :2D条形图实现类,负责具体的组装工作。

BarMulti2D :2D簇状条形图的实现类,负责具体组装工作。

Column :定义了柱形图的基本属性,坐标系初始化,以及数据解析。

Column2D :2D柱形图实现类,负责具体的组装工作。

Column3D :3D柱形图实现类,定义了3D特性,具体的组装工作由其父类Column2D 负责。

ColumnMulti2D :2D簇状柱形图实现类,负责具体的组装工作。

ColumnMulti3D :3D簇状柱形图实现类,定义了3D特性,具体的组装工作由其父类ColumnMulti2D 负责。

Line :定义了折线图的基本属性,坐标系初始化,以及数据解析。

LineBasic2D :2D折线图实现类,负责具体的组装工作。

Area2D :2D面积图图实现类,定义了面积图的特性,具体的组装工作由其父类LineBasic2D 负责。

Pie :定义了饼图的基本属性,以及数据解析。

Pie2D :2D饼图实现类,负责具体的组装工作。

Donut2D :2D环形图实现类,负责具体的组装工作。

Pie3D :3D饼图实现类,定义了3D的特性,负责具体的组装工作。在此类中,重新对组件进行了分解装配,从而模拟了3D效果。

组件类

Custom :自定义组件类,通过此类,可以在图表基础上,渲染个性化的文字,图形等。用于特殊需求。

Coordinate2D :2D坐标系组件实现类,依赖于Scale 类。

Coordinate3D :3D坐标系组件实现类,定义了3D特性,依赖于Scale 类。

Label :标签组件实现类。

Legend :图例组件实现类。

LineSegment :线段组件实现类。

Rectangle :矩形组件抽象类。

Rectangle2D :2D矩形组件实现类。

Rectangle3D :3D矩形组件实现类。

Scale :坐标刻度组件实现类。

Sector :扇形组件抽象类。

Sector2D :2D扇形组件实现类。

Sector3D :3D扇形组件实现类。

Text :文本组件实现类。

HTML辅助类

Tip :提示框组件实现类。

CrossHair :十字线组件实现类。

 

以上是目前1.0版本的全部组件,ichartjs的新增图表类型的策略是:

1、为一种类型命名,根据分析相似度以及行为属性决定继承自哪个目前的图表,如果 没有类型相似的, 则继承自Chart ,从而新增一种图表 。比如:2D柱形堆积图就可以继承自Column2D,而如果增加一个散点图,则需要继承自Chart

2、在现有的组件中挑选,进行拼装。如果组件库中无可用组件,则在组件库中新增组件,新增组件继承自Component

总结

ichartjs采用这种策略,主要是方便扩展,在新增图表类型时,可以从现有的组件库里挑选"零件",进行拼装,这样在增加一种类型时,只是增加了一个拼装的规则代码,这样大大减少了增加的代码量。同时也进行了分类压缩,在ichartjs发布包中的dist文件夹中,按照类别进行了js文件分割。这样无论未来增加多少图表类型,虽然整体代码量在增加,可是引入单独类型的文件则没有明显的变化。

 

  • 大小: 58.4 KB
1
1
分享到:
评论
5 楼 qzxfl008 2013-06-01  
你好,折线图里能不能每段的颜色不一样的啊,大概思路是怎么样的啊,谢谢
4 楼 djy252 2013-05-16  
留下脚印~
3 楼 wanghetommy 2012-12-20  
keylab 写道
关键现在项目很少是html5的啊,能支持非html5的项目就好了啊

像移动客户端,比如:ios和android开发,就可以用ichartjs做为报表的解决方案,因为android的WebView和ios的UIWebView对HTML5支持非常好。
2 楼 keylab 2012-12-20  
关键现在项目很少是html5的啊,能支持非html5的项目就好了啊
1 楼 wjzsuperman 2012-12-19  
这个报表很好

相关推荐

    ichartjs图表设置自定义字体单位

    ichartjs是一个流行的JavaScript图表库,它提供了丰富的图表类型和高度可定制化的选项,使得开发者能够创建出美观且功能强大的图表。本篇文章将深入探讨如何在ichartjs中设置自定义字体单位,以便更好地控制图表的...

    ichartjs-基于html5的图表组件

    **ichartjs——基于HTML5的图表组件** ichartjs是一款强大的、开源的JavaScript图表库,它充分利用了HTML5的canvas元素来绘制各种各样的图形,适用于数据可视化的需求。这款组件设计灵活,易于使用,可以帮助开发者...

    Axure数据可视化图表组件库(AxureUX图表+地图)

    作品名称:Axure数据可视化图表组件库 作品类型:组件类 主要适用:Web端 软件版本:Axure 8.0 一套数据可视化图表通用组件库,主要由Antv静态图表、Axhub动态图表、地图组件素材三部分内容组成,其中包含了几十种...

    适合uni-app 使用的echarts图表组件,开箱即用!

    标题中的“适合uni-app使用的echarts图表组件,开箱即用!”表明这是一个专门为uni-app框架设计的ECharts图形库组件,旨在简化在uni-app中集成数据可视化的过程。uni-app是一个跨平台的前端开发框架,允许开发者用...

    ichartjs图形化组件

    ichartjs致力于为您的应用提供简单、直观、可交互的体验级图表组件。是WEB/APP图表展示方面的解决方案 。如果你正在开发HTML5的应用,ichartjs正好适合您。 ichartjs目前支持饼图、环形图、折线图、面积图、柱形图...

    ichartjs图表

    在实际开发中,可以结合后端数据接口动态加载图表,或者使用echarts-for-react等React组件库,将ichartjs与React框架无缝集成。此外,ichartjs还支持响应式设计,能适应不同设备的屏幕尺寸,确保图表在移动端同样有...

    ichartjs图表库

    **ichartjs图表库**是一款基于JavaScript开发的高效能图表库,专为现代Web应用程序设计。它充分利用了HTML5的**canvas**元素,提供了一种动态且高度自定义的方式来绘制各种复杂的图形,如柱状图、饼图、线图、散点图...

    LIB008 - Axure数据可视化图表组件库(AxureUX整理)

    LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 - Axure数据可视化图表组件库(AxureUX整理) LIB008 -...

    Axure集成echarts图表组件.rplib

    主要是集成一些Axure中关于图表的展示部分,在实际的设计中用处很是广泛,包括一些柱状图,饼图,折线图等基本图形的展示。 主要是集成一些Axure中关于图表的展示部分,在实际的设计中用处很是广泛,包括一些柱状图...

    终极VueJS资源UI组件—图表组件.zip

    在这个“终极VueJS资源UI组件—图表组件.zip”压缩包中,我们可以期待找到一组专为Vue.js设计的图表组件,这些组件可以帮助开发者快速创建各种丰富的数据可视化效果。 首先,让我们了解一下Vue.js中的组件。组件是...

    Axure数据可视化图表组件库(比较全的图标库).rar

    "Axure数据可视化图表组件库(比较全的图标库).rar"是一个专门为Axure设计的资源包,包含了丰富的图表组件,旨在提升设计者在创建数据展示原型时的效率和质量。 这个组件库包含了多种常见的数据可视化图表类型,如:...

    Axure数据可视化图表组件库(AxureUX整理).zip

    "Axure数据可视化图表组件库(AxureUX整理)"正是针对这一需求,提供了一套完整的图表组件集合,便于Axure用户在设计过程中方便地添加和定制各种图表。 该组件库由AxureUX团队精心整理,确保了组件的质量和适用性。...

    flash图表组件

    在IT行业中,Flash图表组件是一种常见的数据可视化工具,尤其适用于创建动态、交互式的图形展示。本文将深入探讨“flash图表组件”的相关知识点,包括其基本原理、应用领域、以及如何利用JavaScript来驱动图表数据...

    Axure数据可视化数据组件库+可视化图表组件库+可视化动态元件库

    Axure数据可视化数据组件库+可视化图表组件库+可视化动态元件库Axure数据可视化数据组件库+可视化图表组件库+可视化动态元件库Axure数据可视化数据组件库+可视化图表组件库+可视化动态元件库Axure数据可视化数据组件...

    Axure9 数据可视化 图表组件库.zip

    在这个“Axure9 数据可视化 图表组件库.zip”压缩包中,包含的是一个专门为数据可视化设计的图表组件库,用于帮助用户在Axure9中创建各种类型的图表,以便于展示和解释数据。 数据可视化是将复杂的数据集转化为易于...

    Axure数据可视化图表组件库.rar

    "Axure数据可视化图表组件库.rar"是一个专门为Axure设计的资源包,它包含了丰富的数据可视化图表组件,使得在Axure中创建具有专业数据展示的原型变得更加便捷高效。 该组件库主要涵盖了以下几种常见的数据可视化...

    【Axure数据可视化大屏原型合集】之数据可视化图表组件

    【Axure数据可视化大屏原型合集】之数据可视化图表组件【Axure数据可视化大屏原型合集】之数据可视化图表组件【Axure数据可视化大屏原型合集】之数据可视化图表组件【Axure数据可视化大屏原型合集】之数据可视化图表...

    基于vue的PC组件库和svg的图表组件源码+项目说明.zip

    基于vue的PC组件库和svg的图表组件源码+项目说明.zip基于vue的PC组件库和svg的图表组件源码+项目说明.zip基于vue的PC组件库和svg的图表组件源码+项目说明.zip基于vue的PC组件库和svg的图表组件源码+项目说明.zip基于...

Global site tag (gtag.js) - Google Analytics