一.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. ES6的新特性(18)——async 函数

    async 函数 含义 ES2017 标准引入了 async 函数,使得异步操作变得更加方便. async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 Generato ...

  2. Lucky Conversion(找规律)

    Description Petya loves lucky numbers very much. Everybody knows that lucky numbers are positive int ...

  3. web移动端

    h5:低版本(IE8及以下不支持H5标签,要引入html5shiv.js才能正常运行) 条件引入,只是针对PC端,移动端不存在这样的操作 <figure>:专门用来存放图片和相关介绍的 & ...

  4. Jarvis OJ平台basic部分wirteup

    Base64? 题目描述: GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI=== Base3 ...

  5. shell 一些符号的使用

    给你个全的,你在Linux环境下多试下就明白了:$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式 ...

  6. C# WebBrowser控件模拟登录

    一.问题点: 1.模拟登录后,如果带有嵌套的iframe嵌套,不好读取iframe内容,可以直接指定iframe抓取网址 2.C# 清除WebBrowser控件的Session和Cookie 参考文档 ...

  7. 第83天:jQuery中操作form表单

    操作form表单 1. 属性操作 设置属性: // 第一个参数表示:要设置的属性名称 // 第二个参数表示:该属性名称对应的值 $(selector).attr(“title”, “传智播客”); 获 ...

  8. 【ASP.NET 框架系列】您所经历的,但未必研究的那些技术

       本篇文章更适合具有一定开发经验,一定功底,且对底层代码有所研究的朋友!!! 本篇文章稍微偏原理且底层,有一定难度和且比较晦涩,文章粒度稍微粗些,更细粒度的,会在后续的文章中,结合具体的Demo实 ...

  9. 【bzoj1067】[SCOI2007]降雨量 倍增RMQ

    题目描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和200 ...

  10. BZOJ4925 城市规划

    对每个人行道求出移动距离在哪些区间内时其在建筑物前面.现在问题即为选一个点使得其被最多的区间包含.差分即可.对建筑暴力去掉重叠部分.开始时没有去重用了nm次vector的push_back,时间大概是 ...