c3.js: 从 x 轴删除类别
c3.js: Remove categories from x-axis
我花了很多时间阅读 c3 的文档和示例,但未能找到使用 API 函数从图表中卸载或隐藏类别的方法。删除线条或条形很容易,但事实证明删除 x 轴类别更具挑战性。这是我的图表的简化版本。
var genderChart = c3.generate({
bindto: '#chart-gender',
data: {
json: [
{
Disease:"Mumps",
"Female":231,
"Male":198
},
Disease:"Tuberculosis",
"Female":18,
"Male":197
}
],
type: 'bar',
keys: {
x: "Disease",
value: ["Female","Male"]
},
selection: {
enabled: true,
grouped: true
},
},
axis: {
x: {
type: 'category',
}
},
});
我想动态显示和隐藏(加载和卸载)疾病。例如,我希望能够打开和关闭结核病。我的实际图表有许多其他疾病。如果我构建数据,使疾病为条形,性别为 x 轴,这将很容易。但是,这不是我希望用这张图表显示的比较。 c3可以吗?我如何 select 具有给定 x 值(疾病)的所有值,然后卸载这些数据点?我很感激任何见解。
我会构建 json 数据对象,然后重新呈现图表。
这是一个例子:
var data = [{
Disease: "Mumps",
Female: 231,
Male: 198
}, {
Disease: "Tuberculosis",
Female: 18,
Male: 197
}];
$("button").click(function () {
Render();
});
Render()
function Render() {
var selectedData = [];
if ($("#mumps").prop("checked")) selectedData.push(data[0]);
if ($("#tb").prop("checked")) selectedData.push(data[1]);
var genderChart = c3.generate({
data: {
json: selectedData,
type: 'bar',
keys: {
x: "Disease",
value: ["Female", "Male"]
},
selection: {
enabled: true,
grouped: true
},
},
axis: {
x: {
type: 'category',
}
},
});
}
这是 fiddle 中的代码:
http://jsfiddle.net/ot19Lyt8/14/
我花了很多时间阅读 c3 的文档和示例,但未能找到使用 API 函数从图表中卸载或隐藏类别的方法。删除线条或条形很容易,但事实证明删除 x 轴类别更具挑战性。这是我的图表的简化版本。
var genderChart = c3.generate({
bindto: '#chart-gender',
data: {
json: [
{
Disease:"Mumps",
"Female":231,
"Male":198
},
Disease:"Tuberculosis",
"Female":18,
"Male":197
}
],
type: 'bar',
keys: {
x: "Disease",
value: ["Female","Male"]
},
selection: {
enabled: true,
grouped: true
},
},
axis: {
x: {
type: 'category',
}
},
});
我想动态显示和隐藏(加载和卸载)疾病。例如,我希望能够打开和关闭结核病。我的实际图表有许多其他疾病。如果我构建数据,使疾病为条形,性别为 x 轴,这将很容易。但是,这不是我希望用这张图表显示的比较。 c3可以吗?我如何 select 具有给定 x 值(疾病)的所有值,然后卸载这些数据点?我很感激任何见解。
我会构建 json 数据对象,然后重新呈现图表。
这是一个例子:
var data = [{
Disease: "Mumps",
Female: 231,
Male: 198
}, {
Disease: "Tuberculosis",
Female: 18,
Male: 197
}];
$("button").click(function () {
Render();
});
Render()
function Render() {
var selectedData = [];
if ($("#mumps").prop("checked")) selectedData.push(data[0]);
if ($("#tb").prop("checked")) selectedData.push(data[1]);
var genderChart = c3.generate({
data: {
json: selectedData,
type: 'bar',
keys: {
x: "Disease",
value: ["Female", "Male"]
},
selection: {
enabled: true,
grouped: true
},
},
axis: {
x: {
type: 'category',
}
},
});
}
这是 fiddle 中的代码: http://jsfiddle.net/ot19Lyt8/14/