分享一个开源的JavaScript统计图表库,40行代码实现专业统计图表-阿里云开发者社区

开发者社区> python技术君> 正文

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

简介: 分享一个开源的JavaScript统计图表库,40行代码实现专业统计图表
+关注继续查看

image.pngimage.png

</div><div data-lake-id="f50a332fbd9d4b1eeb07c51e3034aeff">var ctx = document.getElementById("myChart").getContext('2d');</div><div data-lake-id="4cb2769986a9106012a4ce1c58e0dcfd">var myChart = new Chart(ctx, {</div><div data-lake-id="6e63a1dcc72d372c297b7ed758ea87f0">type: 'line',</div><div data-lake-id="22dd70bc05e495e79bc28f1e4accbc80">data: {</div><div data-lake-id="4e78c759f6b548dc8b27ea76ff4f855c">labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],</div><div data-lake-id="4f177f8a15cf351c635331120707eb6d">datasets: [{</div><div data-lake-id="f45610a7baf2b33b86d6a205b0699fdb">label: '# of Votes',</div><div data-lake-id="223efac332af38b5b0f575845c43fe60">data: [12, 14, 3, 5, 2, 3],</div><div data-lake-id="b2e1e11ff5217b5522e72f26bb421c07">backgroundColor: [</div><div data-lake-id="bbc30c1500446444c5c573f662a0e6fa">'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)',</div><div data-lake-id="5e2b8b81c44b736131110df6c5c53ed3">'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)'</div><div data-lake-id="2a6b288887359032b66f8d0a0598ab21">],</div><div data-lake-id="57b1bea362faffe6c211a15e18754f61">borderColor: [</div><div data-lake-id="bc62da31632d20d9b1b0c909ff6e9f04">'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)',</div><div data-lake-id="babcca20040aff3bf7fc34f4d0f09e1f">'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)'</div><div data-lake-id="2228d4dc4d9be52895a2a41fcd025816">],</div><div data-lake-id="7b2e59223326fcce6de21a7d0dd96ddb">borderWidth: 1</div><div data-lake-id="12308c72f7d5a22378b0035e45c1666a">}]</div><div data-lake-id="93103c1421c4d37fc13cf241a0761276">},</div><div data-lake-id="ffc6d6094f1672cf0737ad0397ded329">options: {</div><div data-lake-id="0ebd15509fa9e515263d33375fb12018">responsive: false,</div><div data-lake-id="3f90535f217768792234840ed45da156">scales: {</div><div data-lake-id="f9a66aff3ee8553624bb424dec173947">yAxes: [{</div><div data-lake-id="689fc032bd91cb282495ed405b696cd7">ticks: {</div><div data-lake-id="bc2c09bf8fe10ab4acb2f0e9d9307eb3">beginAtZero:true</div><div data-lake-id="e75077fe6d5a723381175e2a3f676350">}</div><div data-lake-id="22fe09b12eeac4c26d592da18a1af123">}]</div><div data-lake-id="ccc150edf230fe734f06239869a9eff2">}</div><div data-lake-id="1119265115311a34584e24570fc038d6">}</div><div data-lake-id="90536e134af63f9ccba943bf3fc77114">});</div><div data-lake-id="8913308cd49b2bbf8cfc55f4d4233d60">

image.png

简单解释下代码。


第二行: 这个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 - 线状图

image.pngimage.pngimage.pngimage.pngimage.pngimage.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10076 0
分享实录 | 阿里巴巴代码缺陷检测探索与实践
3月3日,阿里巴巴算法工程师别象在云效DevOps交流群中分享了《阿里巴巴代码缺陷检测探索与实践》。从阿里巴巴代码平台在探索缺陷检测和补丁推荐问题时遇到的挑战入手,介绍了目前业界和学术界较为流行的缺陷检测手段,并针对其局限性,提出PRECFIX方法。
4464 0
高并发之Memcached实战第10课-“Memcached Get获取数据”部分代码分享
高并发之Memcached实战第10课-“Memcached Get获取数据”部分代码分享 先写个要存的数据的相关类: public class Student implements java.
757 0
fbh
分享一个canvas代码
首先需要已入jquery 然后直接运行 function project3D(x,y,z,vars){var p,d;x-=vars.
849 0
前端智能化实践— P2C 从需求文档生成代码 | D2 分享视频+文章
从需求文档生成代码? 看看狼叔和卓风怎么说。
856 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13883 0
【重新发现PostgreSQL之美】- 12 serverless & SaaS行业 & 多租户 & 资源隔离 & 捣蛋鬼,你揍开
大家好,这里是重新发现PostgreSQL之美 - 12 serverless & SaaS行业 & 多租户 & 资源隔离 & 捣蛋鬼,你揍开
26 0
fbh
分享一个canvas代码2
学习HTML5 Canvas这一篇文章就够了 HTML5 Canvas粒子效果文字动画特效DEMO演示 展现地址:http://csdn.
731 0
1853
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载