这篇文章主要讲解了如何使用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, 255, 1)",
pointBackgroundColor: "rgba(56, 96, 244, 1)",
pointBorderColor: "rgba(255, 255, 255, 1)",
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);
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, {
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, 255, 1)",
pointBackgroundColor: "rgba(56, 96, 244, 1)",
pointBorderColor: "rgba(255, 255, 255, 1)",
pointRadius: 4
}
]
},
options: {
responsive: true,
legend: {
display: false
},
maintainAspectRatio: false
}
});
};
renderCurrent = () => {
const { data } = this.state;
const currentCharttemp = this.currentChart.getContext("2d");
if (typeof currentChart !== "undefined") {
currentChart.destroy();
}
currentChart = new Chart(currentCharttemp, {
type: "line",
data: {
labels: [1, 2, 3, 4, 5],
datasets: [
{
data: data,
backgroundColor: "rgba(71, 157, 255, 0.08)",
borderColor: "rgba(0, 119, 255, 1)",
pointBackgroundColor: "rgba(56, 96, 244, 1)",
pointBorderColor: "rgba(255, 255, 255, 1)",
pointRadius: 4
}
]
},
options: {
responsive: true,
legend: {
display: false
},
maintainAspectRatio: false
}
});
};
render() {
return (
<div>
<canvas id="myChart" ref={ref => (this.chartRef = ref)} />
<br />
<button
onClick={()=>
this.setState({ data: [200, 500, 20, 50, 100] }, this.renderCurrent)
}
>
更新数据
</button>
<canvas id="currentChart7" ref={ref => (this.currentChart = ref)} />
</div>
);
}
}
看完上述内容,是不是对如何使用Chart.js有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。