操作Javascript数据在D3.js上切换系列
Manipulating Javascript Data to Toggle Series on D3.js
我在flot上使用这个示例(http://www.flotcharts.org/flot/examples/series-toggle/index.html)将该概念应用于D3.js.
我的数据如下:
[ { "sourceA" : 28, "sourceB": 25, "sourceC": 20, "date": "29-Apr-13",
"sourceA" : 15, "sourceB": 23, "sourceC": 54, "date": "29-May-13",
"sourceA" : 23, "sourceB": 43, "sourceC": 23, "date": "29-Jun-13",
}]
我已经按照上面例子的源代码设置了复选框("sourceA"、"sourceB"等)。然而,我被如何使用"plotAccordingToChoices"函数操作数据所困扰。
即,如果选中了sourceA复选框,则函数应将数据更改为:
[ { "sourceA" : 28, "date": "29-Apr-13",
"sourceA" : 15, "date": "29-May-13",
"sourceA" : 23, "date": "29-Jun-13",
}]
示例中的示例代码-http://www.flotcharts.org/flot/examples/series-toggle/index.html
// insert checkboxes
var choiceContainer = $("#choices");
$.each(datasets, function(key, val) {
choiceContainer.append("<br/><input type='checkbox' name='" + key +
"' checked='checked' id='id" + key + "'></input>" +
"<label for='id" + key + "'>"
+ val.label + "</label>");
});
choiceContainer.find("input").click(plotAccordingToChoices);
function plotAccordingToChoices() {
var data = [];
choiceContainer.find("input:checked").each(function () {
var key = $(this).attr("name");
if (key && datasets[key]) {
data.push(datasets[key]);
}
});
if (data.length > 0) {
$.plot("#placeholder", data, {
yaxis: {
min: 0
},
xaxis: {
tickDecimals: 0
}
});
}
}
plotAccordingToChoices();
过滤函数的代码如下所示。
function filter(json, attrName) {
var newJson = [];
json.forEach(function(d) {
newJson.push({ "date": d.date, attrName: d[attrName] });
});
return newJson;
}
相关文章:
- async.js和系列问题
- 仅在Highcharts.js中可见的更改系列
- 如何在draft.js中设置默认的字体系列和大小
- 如何从异步.js系列返回结果
- 图表.js:通过单击图例隐藏系列
- 在 Ext JS 4 上显示/隐藏系列的单个行元素
- D3.js多系列折线图工具提示问题
- 如何从高图表动态更新 pointStart 系列属性.js
- 如何在画布 js 中循环以制作多系列图表
- 节点 JS 异步库系列
- 将自定义链接添加到饼图中的系列/数据部分(高图表.js)
- 直流.js中的多系列折线图
- 使用节点时是否有等效的语句“继续”.js 为每个系列异步
- 使用async.js系列识别回调数据
- Highcharts.js不会呈现图表,它说错误“;无法读取属性'系列'“未定义”;
- 使用node.js异步系列插入错误
- 操作Javascript数据在D3.js上切换系列
- X轴不显示多系列折线图使用d3.js
- 如何从饼图中排除系列,如果有几个(Highcharts.js)
- 如何将Async.js的每个系列示例转换为Bluebird Promises