一.highcharts简介以及引入

  highcharts作为免费提供给个人学习、个人网站和非商业用途使用的前端图表演示插件的确使用起来十分方便和轻便。在我最近完成一个需求的时候用到了它, 它的兼容性也很强,其在标准(W3C标准)浏览器中使用SVG技术渲染图形,在遗留的IE浏览器中使用VML技术来绘图。我们在使用highcharts的时候只需要引入highcharts.js 及 jQuery 、 MooTools 、Prototype 、Highcharts Standalone Framework 常用 JS 框架中的一个,在此我们使用jQuery。

只需在你的项目中如此引用就能方便的调用它的各种函数

<script src="./jquery-1.8.3.min.js"></script>
<script src="./highcharts.js"></script>

二.常用图表介绍

  HighCharts支持图表类型,包括曲线图、区域图、柱状图、饼状图、散状点图和综合图表等,在此主要介绍一下饼图,柱状图以及线性图的属性和调用方法。

首先要确保如上的代码正确引用,新建一个index.html,加入以下代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="js/jquery-2.1.4.js"></script>
<script src="js/highcharts.js"></script> <script>
var params ={ };
$(function () {
$('.pieChart').highcharts({
chart: {
plotBackgroundColor: null, //绘制图形区域的背景颜色
plotBorderWidth: null, //边框颜色
plotShadow: true, //绘图区投影
width: params.width || 200, //
height: params.height || 200, //
margin: [0, 0, 0, 0],
reflow: false,//自动缩放
//animation:false
},
title: {
text: '饼图'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
credits: {//去掉图标
enabled: false
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
size:params.size || 100,//pie size
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
format: '<b>{point.name}</b>: <br>{point.percentage:.1f} %',
distance: -5
},
}
},
series: [{
type: 'pie',
name: 'Browser share',
data: [
['Firefox', 45.0],
['IE', 26.8],
{
name: 'Chrome',
y: 12.8,
sliced: true,
selected: true
},
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
]
}]
}); $('#lineChart').highcharts({
chart: {
type: 'spline',
width:200,//
height:200,//
animation: Highcharts.svg, // don't animate in old IE
marginRight: 10,
events: {
load: function() { }
}
}, credits: {
enabled: false
},
plotOptions: {
line: {
animation: false
},
series: {
animation: false
}
},
title: {
text: '线性图'
},
xAxis: {
type: 'datetime',
// dateTimeLabelFormats: { // don't display the dummy year
// second: '%H:%M:%S'
},
yAxis: {
title: {
text: '单位(Mbit/s)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}] , min: 0,
allowDecimals:false },
series: [{
name:'网站流量',
data:[ [ 1453443752602, 30.2 ], [ 1453443753602, 47.9 ], [ 1453443754602, 38.2 ], [ 1453443755602, 59.8 ], [ 1453443756602, 43.3 ], [ 1453443757602, 57.1 ], [ 1453443758602, 52.2 ], [ 1453443759602, 48 ] ]
}] }); $('.barChart').highcharts({ chart: {
type: 'column',
height:200,
width:params.width || 250,
},
credits: {
enabled: false
},
legend:{
enabled: false },
title: {
text: params.title
},
subtitle: {
text: ''
},
xAxis: {
categories:params.categoriesArr|| ['当前','周','月']
},
yAxis: {
min: 0,
title: {
text: params.yUnit ||'(个)'
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.1f} '+'(个)'+'</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0,
pointWidth:params.pointWidth||30 //宽度
}
},
series: params.series||
[{
name: ['数量'],
data: [213,321,112]
} ] }); });
</script>
</head>
<body> <div class="pieChart"></div>
<div id="lineChart"></div>
<div class="barChart"></div>
</body> </html>

运行就可以看到常用的饼图,条形图柱状图已经顺利生成了。

我们可以看到在highchart中,是利用jquery选择器去选择相应的元素进行绘图,所以我们可以灵活的使用id,class等选择器为我们绑定图表。

三.常用属性介绍

成功了运行上面的图表生成代码,那么下面我来为大家介绍一下其中常用的属性,以满足一般开发要求。

1.chart 顾名思义图表属性,通过改变它去改变图表的样式等

type: 'spline', //图表类型

plotBackgroundColor: null, //绘制图形区域的背景颜色

plotBorderWidth: null, //边框颜色

plotShadow: true, //绘图区投影

width: params.width || 200, //整个绘图区域宽度

height: params.height || 200, //这个绘图去高度

margin: [0, 0, 0, 0],//绘图区域margin

reflow: false,//自动缩放

events:  //图表事件监听器

2.title

text: params.title// title的文字信息

3.credits

enabled: false// 不展示logo

4.plotOptions  对应的图形样式设定

pie: {//饼图
allowPointSelect: true,
cursor: 'pointer',
size:params.size || 100,//饼图中,饼图自身半径
dataLabels: {
enabled: true,
color: '#000000',
connectorColor: '#000000',
format: '<b>{point.name}</b>: <br>{point.percentage:.1f} %',
distance: -5 //用于设置饼图上描述文字的位置
},
} plotOptions: {// 折线图 line: {
animation: false
},
series: {
animation: false
}
}, plotOptions: {//柱形图
column: {
pointPadding: 0.2,
borderWidth: 0,
pointWidth:params.pointWidth||30 //宽度
}
}

  

5.series  图表数据,注意尽量用number类型而不是string,因为除了饼图外,string值不被识别

四.参考

highcharts

Highcharts.js -纯javasctipt图表库初体验的更多相关文章

  1. highCharts入门-强大的图表库插件

    简介         Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业 ...

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

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

  3. python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨

    python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...

  4. urllib库初体验以及中文编码问题的探讨

    提出问题:如何简单抓取一个网页的源码 解决方法:利用urllib库,抓取一个网页的源代码 ------------------------------------------------------- ...

  5. Bower管理依赖库初体验

    比如一开始我用了jquery-1.10.2.min.js,后来要用bootstrap,但bootstrap依赖的确实2.0.3版本的jquery,那又要下载一个去替换原来的,这样的事情发生多了就会觉得 ...

  6. Knockout.js初体验

    前不久在网上看到一个轻量级MVVM js类库叫Knockout.js,觉得很好奇,搜了一下Knockout.js相关资料,也初体验了一下,顿时感觉这个类库的设计很有意思.接下来就搞清楚什么是Knock ...

  7. ECharts JavaScript图表库 ECharts

    ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值 ...

  8. 基于html5 Canvas图表库 : ECharts

    ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值 ...

  9. 开源的数据可视化JavaScript图表库:ECharts

    ECharts (Enterprise Charts 商业产品图表库)是基于HTML5 Canvas的一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽 ...

随机推荐

  1. JAVA学习笔记--迭代器

    迭代器(Iterator)是一种设计模式.它是一个对象,它的工作是遍历并选择序列中的对象,而客户端程序员不必知道或关心该序列底层的结构.创建迭代器的代价小,因而迭代器通常被称为轻量级对象. 一.Ite ...

  2. LeetCode 845——数组中的最长山脉

    1. 题目 2. 解答 2.1 方法一 left 数组表示当前元素左边比当前元素小的元素个数,right 数组数组表示当前元素右边比当前元素小的元素个数.在山脉的中间 B[i] 处,其左边和右边肯定都 ...

  3. 1.hive介绍及安装配置

    1.Hive介绍 数据库OLTP 在线事务处理 数据仓库OLAP 在线分析处理 延迟高 类sql方式(HQL) 使用sql方式,用来读写,管理位于分布式存储系统上的大型数据集的数据仓库技术 hive是 ...

  4. 按照事务类型分析 DB2 事物的性能

    概述 事务是数据库系统中的核心概念之一.作为数据库系统的逻辑工作单元(Unit of Work),事务必须具有四个属性,即原子性.一致性.隔离性和持久性(ACID).数据库系统往往通过锁机制保证事务的 ...

  5. 判断字符串中是否存在的几种方案:string.indexof、string.contains、list.contains、list.any几种方式效率对比

    我们在做项目时,可能会遇到这样的需求,比如判断,1,2,3,33,22,123, 中是否存在,3,. var str=",1,2,3,33,22,123,"; 一般有几种方式: 1 ...

  6. IOC 依赖注入 Unity

    http://kb.cnblogs.com/page/115333/ http://www.bianceng.cn/Programming/net/201007/18255.htm http://bl ...

  7. psp 第二周

    11号                                                                              12号 类别c 内容c 开始时间s 结 ...

  8. HDU 2105 The Center of Gravity

    http://acm.hdu.edu.cn/showproblem.php?pid=2105 Problem Description Everyone know the story that how ...

  9. PAT L1-034 点赞

    https://pintia.cn/problem-sets/994805046380707840/problems/994805098188750848 微博上有个“点赞”功能,你可以为你喜欢的博文 ...

  10. mac下mysql5.7.10密码问题

    mysql5.7.10刚安装好,会生成一个随机密码. 如果没记住这个随机密码,那么到mysql/bin/下执行mysql_secure_installation命令 按照提示重置密码和其他选项. ps ...