สร้างกราฟด้วย Chartjs

Jquery & Ajax Knowledge ความรู้เกี่ยวกับ Javascript , Jquery ม Ajax

Moderator: mindphp, ผู้ดูแลกระดาน

abdkode
PHP Super Member
PHP Super Member
โพสต์: 319
ลงทะเบียนเมื่อ: 07/01/2019 9:56 am

สร้างกราฟด้วย Chartjs

โพสต์โดย abdkode » 11/01/2019 6:16 pm

Chartjs เป็น open source library ที่ช่วยในการแสดงข้อมูลในรูปแบบกราฟฟิก
ซึ่งสามารถใช้งานได้ฟรีและมีความยืดหยุ่นสูงเพื่อนำไปใช้หรือปรับแต่งเพิ่มเติม
เรามาดูวิธีการใช้งานเบื้องต้นกันเลยดีกว่าครับ
1.สร้าง Tag canvas กำหนดให้มี ไอดี เท่ากับ myChart ในตำแหน่งที่เราต้องการใส่กราฟ

โค้ด: เลือกทั้งหมด

<canvas id="myChart" width="400" height="400">

2. นำเข้า Script Chart.js CDN

โค้ด: เลือกทั้งหมด

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

3.ตัวอย่างการเรียกใช้งาน ChartJs ในรูปแบบ Bar chart

โค้ด: เลือกทั้งหมด

var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 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: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});
</script>

ผลลัพธ์จะออกดังภาพ
chartjs.png
chartjs.png (9.64 KiB) เปิดดู 413 ครั้ง

โค้ดตัวอย่างทั้งหมด

โค้ด: เลือกทั้งหมด

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
   <title>ChartJs</title>

  </head>
 
  <body>
 
      <div style="width:700px;"><canvas id="myChart" width="400" height="400"></canvas></div>

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

<script>
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 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: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});
</script>
   
   
  </body>
</html>


เราสามารถปรับแต่งเพิ่มให้เป็นกราฟอื่นๆ เช่นกราฟเส้น, Stacked, Pie, Multi axis,
อ้างอิง: http://www.chartjs.org

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : Jquery & Javascript
-สอนการใช้งาน jQuery & Ajax
-ถาม-ตอบปัญหาเกี่ยวกับ jQuery & Ajax
-บทเรียน jQuery

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 8 และ บุคคลทั่วไป 0 ท่าน