Javascript 使用chartjs时Rest Api数据获取错误
我有一个问题与api的数据获取有关,在这个api中,我必须以chartjs或数据可视化的格式表示数据。 我正试图使用这个api作为源,以图表格式表示数据,为我的仪表板做好准备,仪表板正在为数据分析透视图做好准备。请帮帮我,我知道我有点落后了Javascript 使用chartjs时Rest Api数据获取错误,javascript,json,reactjs,chart.js,data-visualization,Javascript,Json,Reactjs,Chart.js,Data Visualization,我有一个问题与api的数据获取有关,在这个api中,我必须以chartjs或数据可视化的格式表示数据。 我正试图使用这个api作为源,以图表格式表示数据,为我的仪表板做好准备,仪表板正在为数据分析透视图做好准备。请帮帮我,我知道我有点落后了 App.js import React, { Component } from "react"; import axios from "axios"; import Chart from "./chart"; class App extends Comp
import React, { Component } from "react";
import axios from "axios";
import Chart from "./chart";
class App extends Component {
constructor() {
super();
this.state = {
labels: [],
data: []
};
}
componentDidMount() {
this.getChartData();
}
getChartData() {
Date.formatMMDDYYYY = () => {
return (
this.getDate() + 1 + "/" + this.getMonth() + "/" +
this.getFullYear()
);
};
axios
.get("https://cors-anywhere.herokuapp.com/https://api.myjson.com/bins/chnmi"
)
.then(results => {
// Split timestamp and data into separate arrays
const labels = [];
const data = [];
results.forEach(packet => {
labels.push(new Date(packet.updated).formatMMDDYYYY());
data.push(parseFloat(packet.users));
});
this.setState({ data, labels });
})
.catch(error => {
console.log(error);
});
}
render() {
return (
<div>
<Chart labels={this.state.labels} data={this.state.data} />
</div>
);
}
}
export default App;
import React,{Component}来自“React”;
从“axios”导入axios;
从“/Chart”导入图表;
类应用程序扩展组件{
构造函数(){
超级();
此.state={
标签:[],
数据:[]
};
}
componentDidMount(){
这是.getChartData();
}
getChartData(){
Date.formatMMDDYYYY=()=>{
返回(
this.getDate()+1+“/”+this.getMonth()+“/”+
这个。getFullYear()
);
};
axios
.get(“https://cors-anywhere.herokuapp.com/https://api.myjson.com/bins/chnmi"
)
。然后(结果=>{
//将时间戳和数据拆分为单独的数组
常量标签=[];
常量数据=[];
results.forEach(数据包=>{
labels.push(新日期(packet.updated).formatMMDDYYYY());
data.push(parseFloat(packet.users));
});
this.setState({data,labels});
})
.catch(错误=>{
console.log(错误);
});
}
render(){
返回(
);
}
}
导出默认应用程序;
import React, { Component } from 'react';
import {Bar} from 'react-chartjs-2';
class Chart extends Component {
render() {
const chartData = {
labels: this.props.labels,
datasets: [
{
data: this.props.data,
backgroundColor: 'rgba(255, 99, 132, 0.6)',
}
]
}
return (
<div className="chart">
<Bar
data={chartData}
options={{
title: {
display: true,
text: 'Largest cities in Delhi',
fontSize: 25
},
legend: {
display: true,
position: 'right'
}
}}
/>
</div>
);
}
}
export default Chart;
import React,{Component}来自'React';
从'react-chartjs-2'导入{Bar};
类图扩展组件{
render(){
常量图表数据={
标签:this.props.labels,
数据集:[
{
数据:this.props.data,
背景颜色:“rgba(255,99,132,0.6)”,
}
]
}
返回(
);
}
}
导出默认图表;
Date.formatMMDDYYYY=()=>{…}
而使用此Date.prototype.formatmmddyyyyy=函数{…}
,我们不能使用箭头函数,因为这样我们将无法获得此的正确值。此外,您还可以使用一个普通函数来接收日期并在需要时调用它,这种方法更简单、更安全this.getDate()+1+“/”+this.getMonth()+…
它应该是this.getMonth()+1+“/”+this.getDate()+…
结果
中获取数据,但数据不在那里,它位于结果.data
中,因此循环应为结果.data.forEach(数据包=>{…}
修复了此处的代码:您遇到了什么错误?我无法以chartjs格式显示数据。我想表示数据。您可以查看此链接了解更多信息:不客气,如果您没有更多疑问,您可以将答案标记为已接受吗?谢谢:)