Highcharts.js -纯javasctipt图表库初体验

一.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

时间: 2024-12-14 02:21:57

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

Bower管理依赖库初体验

比如一开始我用了jquery-1.10.2.min.js,后来要用bootstrap,但bootstrap依赖的确实2.0.3版本的jquery,那又要下载一个去替换原来的,这样的事情发生多了就会觉得很繁琐,今天就来学下bower吧! 1.安装Bower npm install -g bower 2.对于window的用户还需要安装git,msysgit是Windows版的Git 3.通过bower install安装包,安装到当前文件夹bower_components/中,如安装jQuery

Knockout.js初体验

前不久在网上看到一个轻量级MVVM js类库叫Knockout.js,觉得很好奇,搜了一下Knockout.js相关资料,也初体验了一下,顿时感觉这个框架的设计很有意思.接下来就搞清楚什么是Knockout.js Knockout.js有4个重要的概念:(一定要牢记) 1.声明绑定:使用简明易读的语法很容易地将模型(model)数据关联到DOM元素上. 2.UI界面自动刷新:当您的模型状态(model state)改变时,您的UI界面将自动更新. 3.依赖跟踪:为转变和联合数据,在你的模型数据之

强大的金融类图表库 TradingView 使用分享

这段时间刚好做币圈交易所,运用到了现在最火的金融类图表库 -- TradingView ,就是强大,基本上现在的火币网(https://www.huobi.com),币安网(https://www.binance.com/)等大型交易所都在使用. 简介: 带有开放API的可下载图表库.这是一个独立的解决方案,可以将其下载,托管在自己的服务器上,连接自己的数据,在自己的网站/应用程序免费使用. 适用于手机和桌面应用程序. 门户网站.博客和新闻网站. 当您想要完全控制图表并希望显示您所控制的数据时,

Highcharts纯js图表库,以后可以跟客户说,你跟阿里云ECS用的图表库是同款

Highcharts是一款纯javascript编写的图表库,能够很简便的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18种不同类型的图表,可以满足常用的Web图表需求 ! 近来维护我的阿里云服务器,进入后台偶然发现阿里云管理后台数据图表用的也是Highcharts,刚好正需要WEB端展示数据的东西,研究哈… Highcharts官网:http://www.highcharts.com Highcharts中文站:ht

推荐三款强大的Js图表库

1.百度的Echart ECharts,缩写来自Enterprise Charts,是百度推出的一款开源的,商业级数据图表,它最初是为了满足百度公司商业体系里各种业务系统(如凤巢.广告管家等等)的报表需求. 2.Highcharts 中文网站:http://www.hcharts.cn/ Highcharts是国外的一款功能强大.开源.美观.图表丰富.兼容绝大多数浏览器的纯js图表库.Highcharts针对个人用户及非商业用途免费,商业用途需要购买授权. 3.阿里的G2 G2(The Gram

强悍的Javascript图表库:Highcharts

如果你正在寻找如何创建图表,那我们这篇文章就是为你准备的.我曾经在网上找了很多的资料,怎样去完美的解决创建图表的方案,让我惊喜的是发现了一个很好的很强悍的Javascript图表库:Highcharts.这是一个纯Javascript库,它主要包括两个部分:Highcharts和Highstock.Highcharts可以为您的网站或Web应用程序提供直观,互动式的图表.目前支持线,样条,面积,areaspline,柱形图,条形图,饼图和散点图类型.Highstock可以为您方便地建立股票或一般

Node.js 网页瘸腿爬虫初体验

延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器和客户端功能 var http=require("http"); // 内置文件处理模块 var fs=require('fs'); // 创建一个将流数据写入文件的WriteStream对象 var outstream=fs.createWriteStream('./1.txt'); /

highcharts 图表库的简单使用

Highcharts简介: Highcharts是一款纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18种不同类型的图表,可以满足你对Web图表的任何需求 ! 兼容性 Highcharts支持目前所有的现代浏览器,包括IE6 +.iPhone/iPad.Android.Highcharts在标准(W3C标准)浏览器中使用SVG技术渲染图形,在遗留的IE浏览器中使用VML

HighCharts初体验

HighCharts是最近几年比较流行的前端图表控件,是纯粹的javascript图标库,能很方便快捷的在web网站或web应用中添加交互性的图表,Highcharts目前支持直线图.曲线图.面积图.柱状图.饼图.散点图等多达18种不同类型的图表,可以满足你对Web图表的任何需求.由于其功能强大.简单易用.开源免费等优点,Highcharts在国内外越来越受欢迎. 下面是我做得一个小的Demo: <!DOCTYPE html><html><head lang="en