Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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 在(“mouseout”,mouseout)上; //创建函数以更新饼图。这将由直方图使用。 pC.update=函数(nD){ piesvg.selectAll(“路径”).data(pie(nD)).transition().duration(500) .attrTween(“d”,arcTween); } //鼠标在饼图切片上调用的实用函数。 功能鼠标盖(d){ //使用新数据调用直方图的更新函数。 hG.update(fData.map)(函数(v){ 返回[v.Month,v.freq[d.data.type]];}),segColor(d.data.type)); } //将鼠标移出饼图切片时调用的实用函数。 功能鼠标输出(d){ //调用所有数据的直方图更新函数。 hG.update(fData.map)(函数(v){ 返回[v.Month,v.total];}),barColor); } //设置饼图切片的动画需要一个自定义函数,该函数指定 //如何绘制中间路径。 函数arcTween(a){ var i=d3.内插(该电流为a); 该电流=i(0); 返回函数(t){返回弧(i(t));}; } 返回pC; } //函数来处理图例。 功能图例(lD){ var leg={}; //为图例创建表格。 var legend=d3.select(id).append(“表”).attr('class','legend'); //每段创建一行。 var tr=legend.append(“tbody”)。选择all(“tr”).data(lD)。enter().append(“tr”); //为每个线段创建第一列。 tr.append(“td”).append(“svg”).attr(“宽度”,“16”).attr(“高度”,“16”).append(“rect”) .attr(“宽度”,“16”).attr(“高度”,“16”) .attr(“fill”,函数(d){return segColor(d.type);}); //为每个线段创建第二列。 tr.append(“td”).text(函数(d){returnd.type;}); //为每个线段创建第三列。 tr.append(“td”).attr(“类”,“legendFreq”) .text(函数(d){return d3.format(“.3f”)(d.freq);}); //为每个线段创建第四列。 tr.append(“td”).attr(“类”,“legendPerc”) .text(函数(d){return getLegend(d,lD);}); //用于更新图例的实用程序功能。 leg.update=功能(nD){ //更新附加到行元素的数据。 var l=图例。选择(“tbody”)。选择全部(“tr”)。数据(nD); //更新频率。 l、 选择(“.legendFreq”).text(函数(d){return d3.format(.3f”)(d.freq);}); //更新百分比列。 l、 选择(“.legendPerc”).text(函数(d){return getLegend(d,nD);}); } 函数getLegend(d,aD){//用于计算百分比的实用函数。 返回d3.format(“%”)(d.freq/d3.sum(aD.map(函数(v){return v.freq;})); } 返回段; } //按段计算所有状态的总频率。 var tF=['S40401','S40402','S40403'].map(函数(d){ 返回{type:d,freq:d3.sum(fData.map(函数(t){returnt.freq[d];})); }); //按状态计算所有区段的总频率。 var sF=fData.map(函数(d){return[d.Month,d.total];}); var hG=直方图(sF),//创建直方图。 pC=pieChart(tF),//创建饼图。 腿=图例(tF);//创建图例。 } var数据; d3.csv(“数据集_sales.csv”),函数(数据){ freqData=data.map(函数(d){return{ 月份:d.月份, 频率:{ S40401:+d.S40401, S40402:+d.S40402, S40403:+d.S40403 }} }); 仪表板(“仪表板”,数据); });_Javascript_Csv_Parsing_D3.js_Filter - Fatal编程技术网

Javascript 在(“mouseout”,mouseout)上; //创建函数以更新饼图。这将由直方图使用。 pC.update=函数(nD){ piesvg.selectAll(“路径”).data(pie(nD)).transition().duration(500) .attrTween(“d”,arcTween); } //鼠标在饼图切片上调用的实用函数。 功能鼠标盖(d){ //使用新数据调用直方图的更新函数。 hG.update(fData.map)(函数(v){ 返回[v.Month,v.freq[d.data.type]];}),segColor(d.data.type)); } //将鼠标移出饼图切片时调用的实用函数。 功能鼠标输出(d){ //调用所有数据的直方图更新函数。 hG.update(fData.map)(函数(v){ 返回[v.Month,v.total];}),barColor); } //设置饼图切片的动画需要一个自定义函数,该函数指定 //如何绘制中间路径。 函数arcTween(a){ var i=d3.内插(该电流为a); 该电流=i(0); 返回函数(t){返回弧(i(t));}; } 返回pC; } //函数来处理图例。 功能图例(lD){ var leg={}; //为图例创建表格。 var legend=d3.select(id).append(“表”).attr('class','legend'); //每段创建一行。 var tr=legend.append(“tbody”)。选择all(“tr”).data(lD)。enter().append(“tr”); //为每个线段创建第一列。 tr.append(“td”).append(“svg”).attr(“宽度”,“16”).attr(“高度”,“16”).append(“rect”) .attr(“宽度”,“16”).attr(“高度”,“16”) .attr(“fill”,函数(d){return segColor(d.type);}); //为每个线段创建第二列。 tr.append(“td”).text(函数(d){returnd.type;}); //为每个线段创建第三列。 tr.append(“td”).attr(“类”,“legendFreq”) .text(函数(d){return d3.format(“.3f”)(d.freq);}); //为每个线段创建第四列。 tr.append(“td”).attr(“类”,“legendPerc”) .text(函数(d){return getLegend(d,lD);}); //用于更新图例的实用程序功能。 leg.update=功能(nD){ //更新附加到行元素的数据。 var l=图例。选择(“tbody”)。选择全部(“tr”)。数据(nD); //更新频率。 l、 选择(“.legendFreq”).text(函数(d){return d3.format(.3f”)(d.freq);}); //更新百分比列。 l、 选择(“.legendPerc”).text(函数(d){return getLegend(d,nD);}); } 函数getLegend(d,aD){//用于计算百分比的实用函数。 返回d3.format(“%”)(d.freq/d3.sum(aD.map(函数(v){return v.freq;})); } 返回段; } //按段计算所有状态的总频率。 var tF=['S40401','S40402','S40403'].map(函数(d){ 返回{type:d,freq:d3.sum(fData.map(函数(t){returnt.freq[d];})); }); //按状态计算所有区段的总频率。 var sF=fData.map(函数(d){return[d.Month,d.total];}); var hG=直方图(sF),//创建直方图。 pC=pieChart(tF),//创建饼图。 腿=图例(tF);//创建图例。 } var数据; d3.csv(“数据集_sales.csv”),函数(数据){ freqData=data.map(函数(d){return{ 月份:d.月份, 频率:{ S40401:+d.S40401, S40402:+d.S40402, S40403:+d.S40403 }} }); 仪表板(“仪表板”,数据); });

Javascript 在(“mouseout”,mouseout)上; //创建函数以更新饼图。这将由直方图使用。 pC.update=函数(nD){ piesvg.selectAll(“路径”).data(pie(nD)).transition().duration(500) .attrTween(“d”,arcTween); } //鼠标在饼图切片上调用的实用函数。 功能鼠标盖(d){ //使用新数据调用直方图的更新函数。 hG.update(fData.map)(函数(v){ 返回[v.Month,v.freq[d.data.type]];}),segColor(d.data.type)); } //将鼠标移出饼图切片时调用的实用函数。 功能鼠标输出(d){ //调用所有数据的直方图更新函数。 hG.update(fData.map)(函数(v){ 返回[v.Month,v.total];}),barColor); } //设置饼图切片的动画需要一个自定义函数,该函数指定 //如何绘制中间路径。 函数arcTween(a){ var i=d3.内插(该电流为a); 该电流=i(0); 返回函数(t){返回弧(i(t));}; } 返回pC; } //函数来处理图例。 功能图例(lD){ var leg={}; //为图例创建表格。 var legend=d3.select(id).append(“表”).attr('class','legend'); //每段创建一行。 var tr=legend.append(“tbody”)。选择all(“tr”).data(lD)。enter().append(“tr”); //为每个线段创建第一列。 tr.append(“td”).append(“svg”).attr(“宽度”,“16”).attr(“高度”,“16”).append(“rect”) .attr(“宽度”,“16”).attr(“高度”,“16”) .attr(“fill”,函数(d){return segColor(d.type);}); //为每个线段创建第二列。 tr.append(“td”).text(函数(d){returnd.type;}); //为每个线段创建第三列。 tr.append(“td”).attr(“类”,“legendFreq”) .text(函数(d){return d3.format(“.3f”)(d.freq);}); //为每个线段创建第四列。 tr.append(“td”).attr(“类”,“legendPerc”) .text(函数(d){return getLegend(d,lD);}); //用于更新图例的实用程序功能。 leg.update=功能(nD){ //更新附加到行元素的数据。 var l=图例。选择(“tbody”)。选择全部(“tr”)。数据(nD); //更新频率。 l、 选择(“.legendFreq”).text(函数(d){return d3.format(.3f”)(d.freq);}); //更新百分比列。 l、 选择(“.legendPerc”).text(函数(d){return getLegend(d,nD);}); } 函数getLegend(d,aD){//用于计算百分比的实用函数。 返回d3.format(“%”)(d.freq/d3.sum(aD.map(函数(v){return v.freq;})); } 返回段; } //按段计算所有状态的总频率。 var tF=['S40401','S40402','S40403'].map(函数(d){ 返回{type:d,freq:d3.sum(fData.map(函数(t){returnt.freq[d];})); }); //按状态计算所有区段的总频率。 var sF=fData.map(函数(d){return[d.Month,d.total];}); var hG=直方图(sF),//创建直方图。 pC=pieChart(tF),//创建饼图。 腿=图例(tF);//创建图例。 } var数据; d3.csv(“数据集_sales.csv”),函数(数据){ freqData=data.map(函数(d){return{ 月份:d.月份, 频率:{ S40401:+d.S40401, S40402:+d.S40402, S40403:+d.S40403 }} }); 仪表板(“仪表板”,数据); });,javascript,csv,parsing,d3.js,filter,Javascript,Csv,Parsing,D3.js,Filter,您没有关闭功能,也没有对数据进行过滤。 您将数据加载为data,然后在csv上运行筛选功能 下面的内容应该是你想要做的 var freqData; d3.csv("test.csv", function(data) { filteredData = data.filter(function(row) { return row['KPI'] == 'C'; }); freqData = filteredData.map(function(d) {

您没有关闭功能,也没有对数据进行过滤。
您将数据加载为
data
,然后在
csv
上运行筛选功能
下面的内容应该是你想要做的

var freqData;
d3.csv("test.csv", function(data) {
    filteredData = data.filter(function(row) {
        return row['KPI'] == 'C';
    });
    freqData = filteredData.map(function(d) { 
        return {
            Month: d.Month, 
            freq: {
                S40401: +d.S40401,
                S40402: +d.S40402,
                S40403: +d.S40403
            }
        }
    });
    console.log("freqData", freqData);
});
输出:

[{
  "Month": "JAN",
  "freq": {
    "S40401": 2000,
    "S40402": 4000,
    "S40403": 6000
  }, {
  "Month": "FEB",
  "freq": {
    "S40401": 2000,
    "S40402": 4000,
    "S40403": 6000
  }
}]

​​

您没有关闭功能,也没有过滤数据。
您将数据加载为
data
,然后在
csv
上运行筛选功能
下面的内容应该是你想要做的

var freqData;
d3.csv("test.csv", function(data) {
    filteredData = data.filter(function(row) {
        return row['KPI'] == 'C';
    });
    freqData = filteredData.map(function(d) { 
        return {
            Month: d.Month, 
            freq: {
                S40401: +d.S40401,
                S40402: +d.S40402,
                S40403: +d.S40403
            }
        }
    });
    console.log("freqData", freqData);
});
输出:

[{
  "Month": "JAN",
  "freq": {
    "S40401": 2000,
    "S40402": 4000,
    "S40403": 6000
  }, {
  "Month": "FEB",
  "freq": {
    "S40401": 2000,
    "S40402": 4000,
    "S40403": 6000
  }
}]
​​

[{
  "Month": "JAN",
  "freq": {
    "S40401": 2000,
    "S40402": 4000,
    "S40403": 6000
  }, {
  "Month": "FEB",
  "freq": {
    "S40401": 2000,
    "S40402": 4000,
    "S40403": 6000
  }
}]