美文网首页Javascript可视化
分享一个开源的JavaScript统计图表库,40行代码实现专业

分享一个开源的JavaScript统计图表库,40行代码实现专业

作者: 华山令狐冲 | 来源:发表于2018-09-05 21:46 被阅读95次

提升程序员工作效率的工具/技巧推荐系列

这可能是史上最简单易用的开源统计图表绘制库了。柱状图,饼状图,点状图等等您能想到的类型全部支持。

这个开源库的官网:http://www.chartjs.org/

直接看如何只用40行代码就实现专业的统计图表。代码如下:

<html>

<canvas id="myChart" width="300px" height="300px"></canvas>

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js"></script>

<script>

var ctx = document.getElementById("myChart").getContext('2d');

var myChart = new Chart(ctx, {

type: 'line',

data: {

labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],

datasets: [{

label: '# of Votes',

data: [12, 14, 3, 5, 2, 3],

backgroundColor: [

'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)',

'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)'

],

borderColor: [

'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)',

'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)'

],

borderWidth: 1

}]

},

options: {

responsive: false,

scales: {

yAxes: [{

ticks: {

beginAtZero:true

}

}]

}

}

});

</script>

</html>

效果如下:

简单解释下代码。

  • 第二行:<canvas id="myChart" width="300px" height="300px"></canvas> 这个canvas结点作为最后绘制出的图表显示的一个容器,也就是说,最后画出来的统计图表就显示在这个canvas结点里。大家可以根据需要定义图标的宽(width)和高(height)。
  • 第三行:声明了这个开源库的CDN地址。
  • 第八行:声明要显示的统计图的类型。同一套数据是可以用不同的统计图类型显示出来的,可选的有bar, bubble, doughnut, horizontalBar, line, pie, polarArea, radar, scatter这几种。本文后半部分提供了每一种图的效果。
  • 第十行:labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"]。定义了统计图表的一个维度。如果是线状图,柱状图这些类型,则labels定义的维度作为统计同的横坐标(也就是X坐标)。
  • 第十三行:data: [12, 14, 3, 5, 2, 3] 定义了统计图表的另一个维度。如果是线状图,柱状图这些类型,则labels定义的维度作为统计图的纵坐标(也就是Y坐标)。如果是饼状图,data定义的这些值是描述每个维度占整个饼(一个完整圆)的百分比。
  • 第二十六行:responsive: false,意思是使用第二行canvas指定的宽和高来绘制统计图表。如果response置为true,意思是响应式布局,会以全屏的方式显示图表。

这40行代码就讲解完了,对于应用程序开发人员来说,无需去研究里面的绘图细节,甚至连用户把鼠标放到图标上自动弹出tooltip这些细节都自动由这个库实现了,使用起来非常方便。

下面是把第八行代码图标的类型属性type传入各种支持的类型后的渲染结果,方便大家查阅:

type: line - 线状图

doughnut - 圈图

horizontalBar - 水平柱图

pie - 饼状图

radar - 雷达图

polarArea

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


相关文章

  • 分享一个开源的JavaScript统计图表库,40行代码实现专业

    提升程序员工作效率的工具/技巧推荐系列 推荐一个功能强大的文件搜索工具SearchMyFiles 介绍一个好用的免...

  • iOS静态库制作

    开源库代码公开,能看到具体实现代码,闭源库不公开源代码看不到具体实现,闭源又分为静态库,动态库。静态库:.a和.f...

  • iOS 静态库 和 bundle

    开源库公开源代码,能看到具体实现,如SDWebImage,AFNetworking 闭源库不公开源代码,是经过编译...

  • 制作.a静态库

    一、前言 代码库可分为开源库和闭源库 开源库即公开源代码,能看到内部的具体实现,我们常见的AFN,Mason...

  • iOS-静态库、动态库

    库是共享代码的方式,根据源代码的公开情况,库可以分为两种类型: 开源库公开源代码,能看到具体实现,比如SDWebI...

  • 技术贴 - 收藏集 - 掘金

    Prepack - Facebook 开源库帮助你自动优化 JavaScript 代码提高运行速度 - 前端 - ...

  • react中使用ECharts注意的问题

    ECharts ECharts的官网描述: ECharts,一个使用 JavaScript 实现的开源可视化库,可...

  • 静态库简介

    1.什么是库? 库就是程序代码的集合,是共享程序代码的一种方式 2.库的分类? 开源库:公开源代码,能看到具体实现...

  • 概念 库是程序代码的集合,是共享程序代码的一种方式 开源库 公开源代码,能看到具体实现比如:SDWebImage、...

  • framework 概念

    概念 库是程序代码的集合,是共享程序代码的一种方式 开源库 公开源代码,能看到具体实现比如:SDWebImage、...

网友评论

    本文标题:分享一个开源的JavaScript统计图表库,40行代码实现专业

    本文链接:https://www.haomeiwen.com/subject/iqbzwftx.html