JavaScript Chart.js

JavaScript Chart.js

Chart.js是一个开源的JavaScript库,可以通过使用HTML5画布元素绘制不同类型的图表。由于它使用了画布,所以您必须包含一个polyfill以支持旧的浏览器。

那么,HTML5画布元素是什么?

HTML5元素提供了一种简单而强大的方法来使用JavaScript绘制图形。它可以用于绘制图表、制作照片组合或进行简单(或者不那么简单)的动画。

它是响应式的,这意味着它会在窗口调整大小时重新绘制图表,以实现完美的比例更细。

这个库支持 8种不同类型的图表

  1. 折线图
  2. 柱状图
  3. 甜甜圈图
  4. 饼图
  5. 雷达图
  6. 极地区域图
  7. 气泡图
  8. 散点图

安装: 最新版本的Chart.js可以从Github下载,或者使用Chart.js CDN。

创建图表的步骤:

  1. 首先在HTML中导入 chart.js
<head>
<script src= 
"https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"> 
</script> 
<link rel="stylesheet" type="text/css" href="style.css"> 
</head> 
  1. 创建画布: 为了创建图表,我们需要表示Chart类。为此,我们需要传递jQuery实例或画布的2D上下文,用于放置或绘制图表。

例如:

<canvas id = ”chart” width=”900” height = “900”> </canvas> 
  1. 图表类型和数据: 决定所需的图表类型,并相应准备数据。数据需要标签、数据集、数据值、背景颜色、边框颜色、边框宽度和其他各种选项。

例如:

labels:[“CS”, “IT” , “ECE” , “EE”, ”ME”, “BE”], 
And datasets:  
    Label: ‘# of students’, 
    Data : [105,124,78,91,62,56], 
    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)'
            ] 

最后,我们应该从直线,条形,雷达,饼,甜甜圈,极地区域,气泡和散点来决定图表的类型。

  1. 创建图表: 定义要绘制的图表类型之后,将要可视化的数据传递给该图表。以下是一个示例:
var ctx = document.getElementById("chart"); 
var myChart = new Chart(ctx, { 
  type: 'bar', 
  data: { 
    labels: ["CS", "IT", "ECE", "EE", "ME", "BE"], 
    datasets: [ 
      { 
       label: '# of students', 
       data: [105, 124, 78, 91, 62, 56], 
       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 
      } 
    ] 
   } 
}); 

创建图表的完整代码:

<!DOCTYPE html> 
<html> 
<head> 
<script 
src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"> 
</script> 
</head> 
<body> 
  
<canvas id="myChart" width="900" height="400"></canvas> 
<script type="text/javascript"> 
  
var ctx = document.getElementById("myChart"); 
var myChart = new Chart(ctx, { 
  type: 'bar', 
  data: { 
    labels: ["CS", "IT" , "ECE" , "EE", "ME", "BE"], 
    datasets: [ 
      { label: '# of students', 
        data: [105,124,78,91,62,56], 
        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: { 
        scales: { 
            yAxes: [{ 
                ticks: { 
                    beginAtZero:true 
                } 
            }] 
        } 
    } 
}); 
  
    </script> 
  
</body> 
</html> 

输出:

JavaScript Chart.js

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程