reactjs - 我想使用 D3 和 Chartjs 在 React 中绘制前 100 行本地 CSV
问题描述
import React ,{ useEffect,useState } from 'react'
import {Bar,Line,Bubble,Radar,Doughnut} from 'react-chartjs-2'
import Hbl_true from './Datasets/true.csv'
import Hbl_pred from './Datasets/pred.csv'
import * as d3 from 'd3';
const Barchart=(props)=> {
var hbl_true=[]
var hbl_pred=[]
var date=[]
var pie_true=[]
useEffect(()=>{
d3.csv(props.true, function(CSV) {
hbl_true.push(CSV.True)//true stock prices
date.push(CSV.Date)//dates pushed
});
d3.csv(props.preds, function(CSV) {
hbl_pred.push(CSV.Predicted)//predicted stock prices
});
})
return <div>
<div className="block-example border border-primary" style={{display:'flex',justifyContent:"center", alignItems:"center",marginTop:"50px"}} >
{/* this is a Line Chart */}
<div>
<Line
height={400}
width={600}
options={{maintainAspectRatio:false}}
data={{
labels:date,
datasets:[
{
label: 'True Prices',
backgroundColor: 'rgba(255,99,132,0.2)',
borderColor: 'red',
borderWidth: 2,
lineTension: 0,
pointRadius:0,
hoverBackgroundColor: 'rgba(255,99,132,0.4)',
hoverBorderColor: 'rgba(255,99,132,1)',
data:hbl_true,
fill:false
},
{
label: 'Predicted Prices',
data:hbl_pred,
fill:false,
pointRadius:0,
backgroundColor: 'green',
borderColor: 'green',
borderWidth: 3,
hoverBackgroundColor: 'rgba(255,99,132,0.4)',
hoverBorderColor: 'rgba(255,99,132,1)',
}
]
}}
/>
</div>
</div>
}
export default Barchart
上面的代码绘制了 1000 行的整个 CSV,但我只想加载 CSV 的前 100 行并通过chartsJS 绘制它们。
请帮助我只获取 100 行本地 csv 并绘制它们。
我使用 useEffect 通过 D3 加载 CSV。
有没有办法在加载或仅加载 100 行而不是所有行后对其进行切片?
解决方案
推荐阅读
- svg - SVG 水平线太大
- mysql - 使用 MySql 计算 AVG 并在狗表演数据库中显示前 10 名
- .net - .Net Framework(类似于 .Net Core)的 F# 新项目结构缺少 packages.config
- c++ - 在运行时获取程序 RAM 使用情况(以 MB 为单位)(Windows 10)
- python - 合并用于文本清理的三个正则表达式模式以提高效率
- html - Add element span without changing the position of existing centered elements
- reactjs - How to get response after a function call in React JS?
- python - 调用类方法时出现意外结果
- c# - 读取 System.Net.Sockets 时响应中断
- java - 用Java中的用户输入关闭未填充的数组