1. 程式人生 > 程式設計 >Chart.js功能與使用方法小結

Chart.js功能與使用方法小結

本文例項講述了Chart.js功能與使用方法。分享給大家供大家參考,具體如下:

官方文件

英文文件 https://www.chartjs.org/docs/2.8.0/
中文文件 https://chartjs-doc.abingoal.com

react中的使用

開始使用

npm install chart.js --save

在相應的頁面中引入 chartjs

import Chart from "chart.js"

先寫一個小的demo

import React from "react";
import ReactDOM from "react-dom";

import Chart from "chart.js";

class App extends React.Component {
 constructor(props) {
  super(props);
  this.state = {};
 }
 componentDidMount() {
 this.renderCanvas()
 }

 // 作圖
 renderCanvas = () => {
  const myChartRef = this.chartRef.getContext("2d");
  new Chart(myChartRef,{
   type: "line",data: {
    labels: [1,2,3,4,5],datasets: [
     {
      data: [10,20,50,80,100],backgroundColor: "rgba(71,157,255,0.08)",borderColor: "rgba(0,119,1)",pointBackgroundColor: "rgba(56,96,244,pointBorderColor: "rgba(255,pointRadius: 4
     }
    ]
   },options: {
    responsive: true,legend: {
     display: false
    },maintainAspectRatio: false
   }
  });
 };

 render() {
  return (
   <div style={{ height: 288 }}>
    <canvas id="myChart" ref={ref => (this.chartRef = ref)} />
   </div>
  );
 }
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />,rootElement);

Chart.js功能與使用方法小結

https://codesandbox.io/embed/aged-meadow-2sc8m?fontsize=14

動態更新的資料

import React from "react";
import ReactDOM from "react-dom";

import Chart from "chart.js";
let currentChart;

class App extends React.Component {
 constructor(props) {
  super(props);
  this.state = {
   data: [30,60,90,120,100]
  };
 }
 componentDidMount() {
  this.renderCanvas();
  this.renderCurrent();
 }

 // 作圖
 renderCanvas = () => {
  const myChartRef = this.chartRef.getContext("2d");
  new Chart(myChartRef,maintainAspectRatio: false
   }
  });
 };

 renderCurrent = () => {
  const { data } = this.state;
  const currentCharttemp = this.currentChart.getContext("2d");
  if (typeof currentChart !== "undefined") {
   currentChart.destroy();
  }
  currentChart = new Chart(currentCharttemp,datasets: [
     {
      data: data,maintainAspectRatio: false
   }
  });
 };

 render() {
  return (
   <div>
    <canvas id="myChart" ref={ref => (this.chartRef = ref)} />
    <br />

    <button
     onClick={()=>
      this.setState({ data: [200,500,100] },this.renderCurrent)
     }
    >
     更新資料
    </button>
    <canvas id="currentChart7" ref={ref => (this.currentChart = ref)} />
   </div>
  );
 }
}

感興趣的朋友可以使用線上HTML/CSS/JavaScript程式碼執行工具:http://tools.jb51.net/code/HtmlJsRun測試上述程式碼執行效果。

更多關於JavaScript相關內容可檢視本站專題:《JavaScript操作DOM技巧總結》、《JavaScript頁面元素操作技巧總結》、《JavaScript事件相關操作與技巧大全》、《JavaScript查詢演算法技巧總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript遍歷演算法與技巧總結》及《JavaScript錯誤與除錯技巧總結》

希望本文所述對大家JavaScript程式設計有所幫助。