前  言

chart.js是一个简单、面向对象、为设计者和开发者准备的图表绘制工具库。它可以帮你用不同的方式让你的数据变得可视化。每种类型的图表都有动画效果,并且看上去非常棒,即便是在retina屏幕上。Chart.js基于HTML5 canvas技术,支持所有现代浏览器,并且针对IE7/8提供了降级替代方案。并且它不依赖任何外部工具库,轻量级(压缩之后仅有4.5k),并且提供了加载外部参数的方法。

ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

1.使用chart制作的六种图表类型

①曲线图(Line charts)

②柱状图(Bar charts)

            ③雷达图或蛛网图(Radar charts)

           ④饼图(Pie charts)

        ⑤极地区域图(Polar area charts)

         ⑥环形图(Doughnut charts)

2. 起步

引入Chart.js文件

首先我们需要在页面中引入Chart.js文件。此工具库在全局命名空间中定义了Chart变量。

<script src="Chart.js"></script>

创建图表

为了创建图表,我们要实例化一个Chart对象。为了完成前面的步骤,首先需要需要传入一个绘制图表的2d context。

html:

<div style="width: 500px;height: 400px;">
<canvas id="myChart"></canvas>
</div>

javascript:

var ctx= document.getElementById("myChart").getContext("2d");
var myBarChart = new Chart(ctx{type:'horizontalBar',data:barChartData,options:options});
//type指定了你要绘制的图表类型----bar:柱状图 pie:饼状图 rabar:雷达图 horizontalBar:水平柱状图

当我们完成了在指定的canvas上实例化Chart对象之后,Chart.js会自动针对retina屏幕做缩放。

Chart对象设置完成后,我们就可以继续创建Chart.js中提供的具体类型的图表了。以下的案例,我们将展示如何绘制一张水平柱状图。

在javascript中设置数据和参数:

var barChartData = {
labels:["可爱","善良","睿智","迷人","乐观"],
datasets:[{
label:"小小",//图例
fillColor:"rgba(255,99,132,0.5)",//背景填充色
strokeColor:"rgba(220,220,220,1)",//路径颜色
pointBorderColor:"#CF64A7",//描点颜色
pointBackgroundColor:"rgba(255,0,0,0.8)",//描点的背景色
backgroundColor:[
'rgba(1,1,1,0.2)',
'rgba(1,40,40,0.2)',
'rgba(80,1,50,0.2)',
'rgba(1,200,1,0.2)',
'rgba(200,1,1,0.2)'
],
data:[100,90,96,94,90]
}]
};

设置选项:

var options={
events:['click'],
scale:{
ticks:{
beginAtzero:true,
stepSize:20,//y轴间距
max:100,//y轴最大值
min:0,//y轴最小值 //y轴格式化
callback :function(value){return value+'%'}
},
pointLables:{
fontSize:13
}
}
}

结果如下:

三、Echarts的使用

ECharts 提供了常规的折线图柱状图散点图饼图K线图,用于统计的盒形图,用于地理数据可视化的地图热力图线图,用于关系数据可视化的关系图treemap,多维数据可视化的平行坐标,还有用于 BI 的漏斗图仪表盘,并且支持图与图之间的混搭。

你可以在下载界面下载包含所有图表的构建文件,如果只是需要其中一两个图表,又嫌包含所有图表的构建文件太大,也可以在在线构建中选择需要的图表类型后自定义构建。

下面案例,以制作饼状图为例:

html:

<div id="main" style="width: 800px;height: 400px;"></div>

javascript:

<script type="text/javascript">
var myChart = echarts.init(document.getElementById("main"));
var option = {
title:{
text:"饼状图",
subtext:"纯属虚构",
x:"center"
},
series:[{
type:"pie",
name:"访问来源",
data:[{
value:335,
name:"直接访问"
},
{
value:310,
name:"邮件营销"
},
{
value:234,
name:"联盟广告"
},
{
value:555,
name:"视频广告"
},
{
value:1235,
name:"搜索引擎"
},],
center:["50%","60%"],//圆心坐标
radius:"55%" //远的半径
}],
tooltip:{ //提示框
trigger:"item", //触发类型
formatter:"{a}<br>{b}:{c} ({d}%)" ,//鼠标指上时显示的数据a:系列名称 b:类目值 c:数值 d:占的百分比
backgroundColor:"rgba(0,0,0,0.7)" //提示框的背景色,默认为透明度为0.7的黑色
},
legend:{
orient:"vertical",
x:"left",
data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
},
toolbox:{ //工具箱
show:true,
feature:{ //启用功能
dataView:{
show:true,
readOnly:false //readOnly默认数据视图为可读,可指定readOnly为false打开编辑功能
},
restore:{ //还原,复位原始图表
show:true,
},
saveAsImage:{
show:true,
type:"jpeg",//默认为png,可以改为jpeg
title:"保存图片"
}
}
}
}
myChart.setOption(option);
</script>

结果如下图:

这是chart和echarts制作饼状图的简单使用,具体可在chart和echarts官网中查看。

chart中文文档:http://www.bootcss.com/p/chart.js/docs/

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

使用chart和echarts制作图表的更多相关文章

  1. 使用Open Flash Chart(OFC)制作图表(Struts2处理)

    Java开源项目中制作图表比较出色的就是JFreeChart了,相信大家都听说过,它不仅可以做出非常漂亮的柱状图,饼状图,折线图基本图形之外,还能制作甘特图,仪表盘等图表.在Web应用中可以为项目增色 ...

  2. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  3. ECharts开源图表使用方法简单介绍

    ECharts图表是基于Canvas,纯Javascript图表库,基于BSD开源协议,官网地址:http://echarts.baidu.com/index.html 需要先下载插件:https:/ ...

  4. eCharts使用图表简单示例

    https://blog.csdn.net/hlbt0112/article/details/48862427 1. eCharts官网 http://echarts.baidu.com/index. ...

  5. echarts的图表根据父容器大小的改变而改变(弹窗easy-ui的window窗口)

    1.echarts的图表只绘制一次,所以要想大小随着父容器变化就得调方法重新绘制.所以把绘制图表的方法提出来. <div class="echart"> <div ...

  6. knockout+echarts实现图表展示

    一.需要学习的知识 knockout, require, director, echarts, jquery.简单的入一下门,网上的资料很多,最直接就是进官网校习. 二.效果展示 三.require的 ...

  7. chart.js 里添加图表的清单:

    chart.js 里添加图表的清单: var legend = myDoughnut.generateLegend(); $("#chart_legend").html(legen ...

  8. Echarts调整图表上下左右的间距,Echarts调整柱状图左右的间距

    Echarts调整图表上下左右的间距,Echarts调整柱状图左右的间距 >>>>>>>>>>>>>>>> ...

  9. Excel中用REPT函数制作图表

    本文从以下七个方面,阐述在Excel中用REPT函数制作图表: 一. 图形效果展示 二. REPT语法解释 三. REPT制作条形图 四. REPT制作漏斗图 五. REPT制作蝴蝶图 六. REPT ...

随机推荐

  1. String类的替换方法(9)

    1:String replace(char old,char new) 2:   String replace(String old,String new) 3:   trim();//去除字符串空格 ...

  2. JS中关于数组的内容

      前  言 LIUWE 在网站制作过程中,数组可以说是起着举足轻重的地位.今天就给大家介绍一下数组的一些相关内容.例如:如何声明一个数组和在网站制作过程中我们常用的一些数组的方法.介绍的不好还请多多 ...

  3. SAP Gateway简介

    SAP Gateway在S4/HANA时代的ABAP开发模型中有着重要的地位.SAP Gateway是什么?它对ABAP开发有怎样的影响?可以为我们提供哪些方便?这篇译文将浅要地讨论这些话题. SAP ...

  4. Redis学习——Redis事务

    Redis和传统的关系型数据库一样,因为具有持久化的功能,所以也有事务的功能! 有关事务相关的概念和介绍,这里就不做介绍. 在学习Redis的事务之前,首先抛出一个面试的问题. 面试官:请问Redis ...

  5. vue练手小项目--眼镜在线试戴

    最近看到了一个眼镜在线试戴小项目使用纯js手写的,本人刚学习vue.js没多久,便试试用vue做做看了,还没完善. 其中包括初始图片加载,使用keywords查找,父子组件之间传递信息,子组件之间传递 ...

  6. HADOOP源码分析之RPC(1)

    源码位于Hadoop-common ipc包下 abstract class Server 构造Server protected Server(String bindAddress, int port ...

  7. Django 1.10中文文档-执行查询

    Django 1.10中文文档: https://github.com/jhao104/django-chinese-doc 只要创建好 数据模型, Django 会自动为生成一套数据库抽象的API, ...

  8. Tomcat 设置自启动时遇到的错误问题与解决方案

    首先,今天在做tomcat开机自启动时,原本很简单的一个问题,但却浪费了很长时间: 首先系统环境采用的是Window10,设置Tomcat自启动过程当中需要注意的是:JDK的版本和Tomcat的位数必 ...

  9. 委托、事件、Observer观察者模式的使用解析一

    一.前言 委托.事件得理论我就不解释了,不会的时候觉得很难,会了发现挺简单的,回头想想其实在JavaScript中常常用到,譬如:setTimeout()就是典型的委托. 二.传统编码方式 传统的调用 ...

  10. MyEclipse的JQuery.min.js报错红叉解决办法

    MyEclipse的JQuery.min.js报错红叉解决办法 1.选中报错的jquery文件"jquery-1.2.6.min.js".2.右键选择 MyEclipse--> ...