Javascript 如何过滤json并获得在js中创建线图的平均值?
我有json格式的数据,所以我想用plotly js绘图,我需要的是按学期创建一个不同州的绘图,所以我需要过滤每个州(例如加利福尼亚州),然后我需要得到每个学期的平均值并最终绘图 到目前为止,我已经有了这段代码,但我不知道如何过滤js中的新imJavascript 如何过滤json并获得在js中创建线图的平均值?,javascript,json,filter,plotly,average,Javascript,Json,Filter,Plotly,Average,我有json格式的数据,所以我想用plotly js绘图,我需要的是按学期创建一个不同州的绘图,所以我需要过滤每个州(例如加利福尼亚州),然后我需要得到每个学期的平均值并最终绘图 到目前为止,我已经有了这段代码,但我不知道如何过滤js中的新im // Trace1 var trace1 = { x: data.map(row => row.date), y: data.map(row => row.snap_biannual_chan), text: data.map(
// Trace1
var trace1 = {
x: data.map(row => row.date),
y: data.map(row => row.snap_biannual_chan),
text: data.map(row => row.state_name),
name: "snap_biannual_chan",
type: "line"
};
// Combining both traces
var data = [trace1];
// Apply the group barmode to the layout
var layout = {
title: "Practice",
xaxis: {
categoryorder: "array",
}
};
// Render the plot to the div tag with id "plot"
Plotly.newPlot("plot", data, layout)
以下是json示例:
“县州id”:“06001”,
“pop_hispan_道具”:“.117647187212034”,
“pop_un_st”:3059000,
“州名”:“加利福尼亚州”,
“县名称”:“阿拉米达县”,
“pop_un_co”:109000,
“州id”:“06”,
“县id”:“001”,
“波普公司”:1605217,
“波普街”:38654206,
“州”:“CA”,
“学期”:“0118”,
“snap_受益人”:102034,
“snap_Bianual_chan”:-2.0298037374083036,
“sem”:“1月18日”,
“pop_un_co_per”:6.790359185082141,
“流行音乐”:7.91375717322776,
“年份”:2018年,
“月”:1,
“日期”:“2018年1月”您可以使用数组
filter()
和reduce()
方法来计算平均值,而无需微观管理一系列循环和变量。下面是一个例子:
const数据=[
{州id:“01”,snap_半年一次,陈:5.5},
{州id:“01”,snap_半年一次,陈:3},
{州id:“02”,snap_每半年_chan:5}
];
const state01=data.filter(x=>x.state_id==“01”);
const meanState01=state01.reduce((附件,项目)=>{
acc.sum+=每半年一次的项目快照;
acc.mean=acc.sum/state01.length
返回acc;
},{sum:0,mean:0});
console.log(meanState01);
console.log(“平均值:”,meanState01.mean)代码>问题是什么?你有错误吗?