chart.js的使用

本文介绍Chart.js,一款HTML5的图表库,涵盖6种图表类型:曲线图、柱状图、雷达图、饼状图、极坐标区域图、圆环图。详细讲解了图表的创建步骤及参数设置,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/weixin_39477597/article/details/81047875

chart.js是一个基于HTML5的简单的面向对象的图表库,它有6 种表,分别是:曲线图、柱状图、雷达图、饼状图、极坐标区域图、以圆环图。

使用方法

Step1. 引用chart.js
<script src="js/Chart.min.js"></script>

注意:cahrt.js不依赖于jquery

Step2. 在页面中定义 canvas
<canvas id="myChart" width="400" height="400"></canvas>

  Step3. 写js 
  曲线图:
  1. var ctx = document.getElementById("myChart").getContext("2d");
  2. var data = {
  3. /// 表现在X轴上的数据,数组形式
  4. labels : ["January","February","March","April","May","June","July"],
  5. /// 第一条线
  6. datasets : [
  7. {
  8. /// 曲线的填充颜色
  9. fillColor : "rgba(220,220,220,0.5)",
  10. /// 填充块的边框线的颜色
  11. strokeColor : "rgba(220,220,220,1)",
  12. /// 表示数据的圆圈的颜色
  13. pointColor : "rgba(220,220,220,1)",
  14. /// 表示数据的圆圈的边的颜色
  15. pointStrokeColor : "#fff",
  16. data : [65.5,59.2,90,81,56,55,40]
  17. },
  18. /// 第二条线
  19. {
  20. fillColor : "rgba(151,187,205,0.5)",
  21. strokeColor : "rgba(151,187,205,1)",
  22. pointColor : "rgba(151,187,205,1)",
  23. pointStrokeColor : "#fff",
  24. data : [28,48,40,19,96,27,100]
  25. }
  26. ]
  27. }
  28. /// 动画效果call
  29. var options = {
  30. scaleFontStyle: "normal"
  31. }
  32. /// 创建对象,生成折线图表
  33. new Chart(ctx).Line(data,options);

注意:如果要展示在图标中的数据是从后台获得的,需要把要展示在x轴的数据和y轴的数据分别放到两个数组中,动画效果可以进行设置也可不进行设置,如果不设置所有的参数都是默认值并在最后生成图表的时候也不传定义参数的变量(就是代码中的options变量)。

效果图如下:
这个效果就是在动画效果中不设置任何参数时的效果


柱状图:

柱状图的数据格式和曲线图的数据格式相同,代码中唯一不同的就是在创建对象生成图表时,柱状图的如下:
                new Chart(ctx).Bar(data);

效果图如下:

雷达图

雷达图的数据格式和曲线图的数据格式相同,代码中唯一不同的就是在创建对象生成图表时,雷达图的如下:
                new Chart(ctx).Radar(data);

效果图如下

饼状图
饼状图的数据格式如下:
var ctx = document.getElementById("myChart").getCOntext("2d);
var pieData = [ { value: 30, color:"#F38630" }, { value : 50, color : "#E0E4CC" }, { value : 100, color : "#21323D" }, { value : 24, color : "#69D2E7" }, { value : 82, color : "#7D4F6D" }, { value : 58, color : "#9D9B7F" } , { value : 24, color : "#21323D" } ]//动画效果的参数是如若需要可以自行定义 new Chart(ctx).Pie(pieData);

效果图如下:

极坐标图:
极坐标图的数据结构和饼状图的数据结构相同,唯一不同的就是在创建对象生成图表的时的代码,极坐标图的如下:
new Chart(ctx).PolarArea(pieData);

效果图如下:

圆环图:
圆环图的数据结构和饼状图的数据结构相同,唯一不同的就是在创建对象生成图表的时的代码,圆环图的如下:
                new Chart(ctx).Doughnut(pieData);

效果图如下:

chart.js 参数说明:

  1. //网格线是否在数据线的上面
  2. scaleOverlay : false,
  3. //是否用硬编码重写y轴网格线
  4. scaleOverride : false,
  5. //** Required if scaleOverride is true **
  6. //y轴刻度的个数
  7. scaleSteps : null,
  8. //y轴每个刻度的宽度
  9. scaleStepWidth : null,
  10. // Y 轴的起始值
  11. scaleStartValue : 0,
  12. // Y/X轴的颜色
  13. scaleLineColor: "rgba(0,0,0,.1)",
  14. // X,Y轴的宽度
  15. scaleLineWidth: 1,
  16. // 刻度是否显示标签, 即Y轴上是否显示文字
  17. scaleShowLabels: true,
  18. // Y轴上的刻度,即文字
  19. scaleLabel: "<%=value%>",
  20. // 字体
  21. scaleFontFamily: "'Arial'",
  22. // 文字大小
  23. scaleFontSize: 16,
  24. // 文字样式
  25. scaleFontStyle: "normal",
  26. // 文字颜色
  27. scaleFontColor: "#666",
  28. // 是否显示网格
  29. scaleShowGridLines: true,
  30. // 网格颜色
  31. scaleGridLineColor: "rgba(0,0,0,.05)",
  32. // 网格宽度
  33. scaleGridLineWidth:2,
  34. // 是否使用贝塞尔曲线? 即:线条是否弯曲
  35. bezierCurve: true,
  36. // 是否显示点数
  37. pointDot: true,
  38. // 圆点的大小
  39. pointDotRadius:5,
  40. // 圆点的笔触宽度, 即:圆点外层白色大小
  41. pointDotStrokeWidth: 2,
  42. // 数据集行程(连线路径)
  43. datasetStroke: true,
  44. // 线条的宽度, 即:数据集
  45. datasetStrokeWidth: 2,
  46. // 是否填充数据集
  47. datasetFill: true,
  48. // 是否执行动画
  49. animation: true,
  50. // 动画的时间
  51. animationSteps: 60,
  52. // 动画的特效
  53. animationEasing: "easeOutQuart",
  54. // 动画完成时的执行函数
  55. onAnimationComplete: null

</article>
### 如何使用 Chart.js 创建图表 #### 安装 Chart.js 库 为了能够在网页或应用中使用Chart.js创建图表,首先需要引入Chart.js库。可以通过CDN方式快速集成到HTML文件中[^1]。 ```html <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> ``` #### 基础柱状图实例 下面是一个简单的例子来展示如何利用Canvas标签配合JavaScript代码绘制基础的柱状图: ```html <canvas id="myBarChart" width="400" height="200"></canvas> <script> const ctx = document.getElementById('myBarChart').getContext('2d'); const myBarChart = new Chart(ctx, { type: 'bar', data: { labels: ['Red', 'Blue', 'Yellow', 'Green'], datasets: [{ label: '# of Votes', data: [12, 19, 3, 5], 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)' ], borderColor: [ 'rgba(255, 99, 132, 1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)' ], borderWidth: 1 }] }, options: { scales: { yAxes: [{ ticks: { beginAtZero: true } }] } } }); </script> ``` 这段代码定义了一个名为`myBarChart`的对象,并设置了其类型为条形图(`type:'bar'`)以及提供了相应的数据集和样式设置。 对于希望在Node.js环境中工作的开发者来说,在服务器端生成图像并将其发送给客户端也是可行的选择之一。这通常涉及到安装额外的支持包如`chartjs-node-canvas`以便于操作和服务端渲染[^2]。 另外还有专门针对金融证券绘图设计的模块——`chartjs-chart-financial`,它扩展了标准版的功能以满足特定领域的需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值