import React from 'react'; import './styles.css'; import { Card, CardBody, CardTitle } from 'reactstrap'; import Chart from "chart.js"; import axios from 'axios'; var numero = []; var data = []; var i = 0; function formatDate (input) { var datePart = input.match(/\d+/g), month = datePart[1], day = datePart[2]; return day + '/' + month; } class GraphicCovidRG extends React.Component{ chartRef = React.createRef(); componentDidMount() { axios.get("https://brasil.io/api/dataset/covid19/caso/data/?state=RS&place_type=city&city=Rio%20Grande") .then(res => { this.setState({results: res.data.results}); for(i=0; i<30; i++){ numero[i] = this.state.results[i].confirmed; data[i] = formatDate(this.state.results[i].date); } numero.reverse() data.reverse() const myLineChart = this.chartRef.current.getContext("2d"); new Chart(myLineChart, { type: 'line', data: { labels: data, datasets: [ { label: "Casos Confirmados", data: numero, fill: false, borderColor: "#f0c22b" } ] }, options: { elements: { line: { tension: 0.2 }, }, legend: { onClick: (e) => e.stopPropagation() } } }); }); } render(){ return( <div className="GraphContainer"> <Card> <CardBody> <CardTitle tag="h5" className=" mb-2 mb-xl-2 font-weight-bold"> Casos Confirmados em Rio Grande </CardTitle> <div> <canvas id="myChart" ref={this.chartRef}/> </div> </CardBody> </Card> </div> ); } } export default GraphicCovidRG;