当前主要使用HighChart和Echart图表库,都基于Jquery,需要先引用Jquery。

实际问题:引入Jquery需在图表库前,否则报错。

HighChart官网:https://www.hcharts.cn/demo/highcharts

Echart官网:http://echarts.baidu.com/

1、特点分析

HighChart:

    • 兼容性 - 支持所有主流浏览器和移动平台(android、iOS等)。

    • 多设备 - 支持多种设备,如手持设备 iPhone/iPad、平板等。

    • 免费使用 - 开源免费。

    • 轻量 - highcharts.js 内核库大小只有 35KB 左右。

    • 配置简单 - 使用 json 格式配置

    • 动态 - 可以在图表生成后修改。

    • 多维 - 支持多维图表

    • 配置提示工具 - 鼠标移动到图表的某一点上有提示信息。

    • 时间轴 - 可以精确到毫秒。

    • 导出 - 表格可导出为 PDF/ PNG/ JPG / SVG 格式

    • 输出 - 网页输出图表。

    • 可变焦 - 选中图表部分放大,近距离观察图表;

    • 外部数据 - 从服务器载入动态数据。

    • 文字旋转 - 支持在任意方向的标签旋转。

Echart:

一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),

底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

ECharts 3 中更是加入了更多丰富的交互功能以及更多的可视化效果,并且对移动端做了深度的优化。

对比:

A.HighChart配置显示更加灵活,支持html属性,Echart可定制性差,不支持HTML

实际问题:HighChart可利用html属性实现太长省略号问题,Echart可用formatter方法判断标签长于N个字符,截断并加上省略号.

B.Echart 动态效果优于HighChart,HighChart兼容性由于Echart

C.Highchart基于svg,可进行后续对dom进行操作,Echart基于canvas,实现大数据展示效果好

D.echarts.js支持按需求打包:echarts.js官网提供了在线构建的工具,可以在线构建项目时,选择项目所需要使用到的模块,从而达到减小JS文件的体积

2、使用方法:

HighChart:

跟ECharts一样,HighCharts也需要下载相应的插件,不过HightCharts的插件很简单,只有一个highcharts.js文件

如果需要导出图表,则需要exporting.js文件

如果需要一些特殊的图形呈现,则还需要下载highcharts-more.js

Echart:http://www.cnblogs.com/ninilovebobo/articles/3932805.html

实际问题echarts.js的体积较大,建议使用echart.min.js,但部分效果不兼容


3、常见图表元素
(以Echart为例,Highchart属性类似)

3.1、标题(title) 

    常见属性:主标题文本(text),文本样式(textStyle)

    3.2、提示语(tooltip)

常见属性:格式化文本(formatter),文本样式(textStyle)

    3.3、横坐标(xAxis)、纵坐标yAxis

   常见属性:坐标轴的分割数(splitNumber),最大(max),最小(min),坐标轴线的相关设置(axisLine),坐标间隔(interval),旋转角度(rotate)

   实际问题:

   1、图表库的横纵坐标数据为自动计算,若自动计算结果显得太拥挤,可用splitNumber属性定义建议分割数,

         但这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整

   2、横坐标数据太多,显示错位或换行,有两种方案处理:将刻度标签旋转较度;或增大坐标轴刻度标签的显示间隔

   3、若非必要,不要随意设置max,否则容易造成图表超出y轴刻度线的问题,可利用min属性去掉负坐标;

    3.4、图例(legend)

    常见属性:是否显示(show),朝向(orient),边框颜色(borderColor),边框宽度(borderWidth),格式化文本(formatter)

实际问题:图例默认边框自带圆弧,若要去除,borderRadius无效,borderRadius指的是这个图例的外边框

                    设置单个图例的边框属性:

                    legend: {

                            data: [{ 

 icon:‘rect’,

}]

 

                     }

    3.5、数据(series:)

可对单一条数据进行设置。

     实际问题:可用来设置当数据为空时,不显示0 

  label: {

                    normal: {

                        show: true,

                        formatter: function (value) {

                            if (value.value == 0) {

                                return "";

                            } else {

                                return value.value;

                            }

                        }

                    }

                }

   3.6、直角坐标轴(grid)

   常见属性:上(top)下(bottom)左(left)右(right)间距,高度(height),宽度(width)

   实际问题:一般图表宽度在外层div中设置,较少使用grid中的height,width; 

                    若使用js计算图表高度、宽度,需在绘制图表前,确定div的大小

        

    3.7色系(color)

color:['#fbb748', '#52e452', '#4493d5', '#abd74a', '#73c1e6', '#ff86ff', '#8686ff', '#e06c50', '#f2e73d', '#c3cf49', '#afc3f1']

按顺序取色值,若所设置的颜色数量不够,则循环使用

4、模拟鼠标划过事件(Highchart)

      onMouseOver()  // 模拟鼠标划过事件,配合 setInterval 可以实现轮选点

图表库 - Highchart / Echart的更多相关文章

  1. js组件在线编辑器插件、图表库插件、文件树插件

    在线编辑器插件: 一.kindeditor 二.UEditor 图表库插件: 一.echart 二.highchart 文件树插件: 一.zTree -- jQuery 树插件 http://www. ...

  2. 基于canvas实现的高性能、跨平台的股票图表库--clchart

    什么是 ClChart? ClChart是一个基于canvas创建的简单.高性能和跨平台的股票数据可视化开源项目.支持PC.webApp以及React Native和Weex等平台.在React Na ...

  3. iOS图表库Charts集成与使用

    Charts是一个很优秀的图表库,它支持Android.iOS.tvOS和macOS,这样使用起来,可以节省学习成本,可以从GitHub上了解更多信息.本文记录在iOS项目上的集成与使用. Chart ...

  4. ECharts(Enterprise Charts 商业产品图表库)初识

    一.简介 大数据时代,重新定义图表的时候到了,所以随之ECharts就随之出现了. ECharts(Enterprise Charts 商业产品图表库) 是基于Canvas的,纯Javascript ...

  5. ECharts-基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表

    ECharts http://ecomfe.github.com/echarts 基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算 ...

  6. 功能齐全的图表库 ACharts

    ACharts是基于Raphael 库开发的,而Raphael.js是基于svg和vml语言,因此最低可以兼容到IE6+,而最高则所有支持w3c svg标准的现代浏览器都可以使用,svg甚至在手机平台 ...

  7. 11个很棒的 jQuery 图表库

    如果你曾经使用过任何类型的数据,你应该知道阅读一排排数据的痛苦.通过所有这些数据弄清楚他们的意思是非常不容易的.可视化对于解决这个问题起到了重要的作用.可视化降低了数据阅读的难度,帮助决策者获得可操作 ...

  8. 最牛逼android上的图表库MpChart(三) 条形图

    最牛逼android上的图表库MpChart三 条形图 BarChart条形图介绍 BarChart条形图实例 BarChart效果 最牛逼android上的图表库MpChart(三) 条形图 最近工 ...

  9. 最牛逼android上的图表库MpChart(二) 折线图

    最牛逼android上的图表库MpChart二 折线图 MpChart折线图介绍 MpChart折线图实例 MpChart效果 最牛逼android上的图表库MpChart(二) 折线图 最近工作中, ...

随机推荐

  1. PL\SQL(day05)

    PLSQL 1.常用的访问数据库的相关技术 1) plsql 过程化的sql 2) proc/c++ 在c/c++语言中访问oracle数据库的技术 3) ado/odbc vc中访问数据库的技术 4 ...

  2. 将现有硬盘(分区)无损创建为RAID1

    背景 如果现在有一块硬盘(分区)正在使用,如果要设置成RAID1,并不需要将数据拷出,然后创建RAID1. 可以先将此硬盘设置成降级RAID1,然后添加新硬盘再激活RAID1即可,整个过程数据无损. ...

  3. java IO(BIO)、NIO、AIO

    IO 服务端ServerSocket 客户端Socket 缺点每次客户端建立连接都会另外启一个线程处理.读取和发送数据都是阻塞式的. 如果1000个客户端建立连接将会产生1000个线程 Server端 ...

  4. redis-不常用的命令

    在不重启redis服务器的情况下,动态的修改Redis的配置 redis> config set loglevel warning

  5. LNMP一键安装包 V1.1 公布

    LNMP一键安装包 是一个用Linux Shell编写的能够为CentOS/RadHat.Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx.MySQL/MariaDB.P ...

  6. Maven学习--------基础2

    继续学习Maven. 4.2 变量 1) 问:怎样使用变量替换?项目中的某个配置文件比方jdbc.properties使用了一些pom中的变量,怎样在公布中使用包括真实内容的终于结果文件? 答:使用资 ...

  7. C++编程->pair(对组)

    pair 是 一种模版类型.每一个pair 能够存储两个值.这两种值无限制,能够是tuple.vector ,string,struct等等. 首先来看一下pair的函数 初始化.复制等相关操作例如以 ...

  8. TI C66x DSP 系统events及其应用 - 5.6(INTMUX)

    系统event 0~127(包含了eventCombiner的输出event 0~3)与CPU支持的12个可屏蔽中断是通过INTMUX寄存器进行映射的(不包含NMI.RESET).能够选择将系统eve ...

  9. 如何在Eclipse引入JUnit测试

    1.在Eclipse中引入JUnitjar文件 2.右键Build Path>Configure Bulid Path 3.Libraries>Add Library 4.Junit> ...

  10. POJ 3126 Prime Path SPFA

    http://poj.org/problem? id=3126 题目大意: 给你两个四位的素数s和t,要求每次改变一个数字.使得改变后的数字也为素数,求s变化到t的最少变化次数. 思路: 首先求出全部 ...