Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Recharts折线图工作不正常?_Javascript_Reactjs_D3.js_Recharts - Fatal编程技术网

Javascript Recharts折线图工作不正常?

Javascript Recharts折线图工作不正常?,javascript,reactjs,d3.js,recharts,Javascript,Reactjs,D3.js,Recharts,我有一些JSON,在数组中包含4474个对象,如下所示: data: [ { "T": "2017-02-04 14:16:51", "Min": 0, "Max": 0, "Average": 0 }, { "T": "2017-03-27 14:51:23", "Min": 0, "Max": 0, "Average": 0 }, { "T": "2017-03-27 14:53:23", "Min": 0, "Ma

我有一些JSON,在数组中包含4474个对象,如下所示:

data: [
 {
   "T": "2017-02-04 14:16:51",
   "Min": 0,
   "Max": 0,
   "Average": 0
 },
 {
   "T": "2017-03-27 14:51:23",
   "Min": 0,
   "Max": 0,
   "Average": 0
 },
 {
   "T": "2017-03-27 14:53:23",
   "Min": 0,
   "Max": "1,7",
   "Average": "0,1"
 },
 {
   "T": "2017-03-27 15:23:23",
   "Min": "1,6",
   "Max": "1,6",
   "Average": "1,6"
 },
............
............4473,
{
   "T": "2017-05-05 14:16:51",
   "Min": "1,3",
   "Max": "1,3",
   "Average": "1,3"
 }
];
我试图画一个以T为X轴,以Max为Y轴的折线图。我已经编写了一些代码,如下所示:

let da = data.data;
let as = d3.extent(da, item => Parse(item.T)); // [Sat Feb 04 2017 14:16:51 GMT+0100 (Romance Standard Time), Fri May 05 2017 14:16:51 GMT+0200 (Romance Daylight Time)]
let bs =  d3.extent(da, item => item.Max); //  [0,17]

<LineChart width={1100} height={650} data={da}
            margin={{top: 5, right: 30, left: 20, bottom: 5}}>
         <XAxis datakey="T" scale={"time"} domain={ as } allowDataOverflowBoolean={true}/>
         <YAxis datakey="Max" scale={"linear"} type="number" domain={bs} allowDataOverflowBoolean={true}/>
        <CartesianGrid strokeDasharray="3 3"/>
         <Tooltip/>
        <Legend />
       <Line type="linear" dataKey="Max" stroke="#8884d8" activeDot={{r: 8}}/>
</LineChart>
让da=data.data;
让as=d3.extent(da,item=>Parse(item.T));//[2017年2月4日星期六14:16:51 GMT+0100(浪漫标准时间),2017年5月5日星期五14:16:51 GMT+0200(浪漫昼间)]
设bs=d3.extent(da,item=>item.Max);//[0,17]
当我为XAxis组件将分配为域时,它会记录域: 数组[4474]而不是[2017年2月4日星期六14:16:51 GMT+0100(浪漫标准时间),2017年5月5日星期五14:16:51 GMT+0200(浪漫夏令时)],后者没有为X轴设置正确的域


任何形式的帮助都将被感激

问题可能是
datakey=“T”
?当传递到
d3.extent
时,您正在解析日期字符串,但当recharts查找每个项的属性
T
时,它仍然是一个字符串,这可能会导致在尝试插入字符串时出现奇怪的情况。尝试先处理数据,将日期字符串解析为日期对象。@Anko我也尝试过这样做。它不工作!!!在这一点上,a会有所帮助。很难推测“它不工作”是什么意思。@Anko请你给我举个例子,说明你首先尝试处理数据,解析日期字符串到日期对象的意思是什么。我的意思是
da.forEach(函数(d){d.t=new date(d.t)}
。但你说你试过这么做?