如何在 c3.js 折线图中只突出显示一个数据点?
How to highlight only one datapoint in c3.js line graph?
使用 point show as false 隐藏所有 data points.
但是如果我想隐藏除一个数据点之外的所有数据点怎么办。
例如,
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
]
}
});
在上面的折线图中,如何突出显示值为100的数据点并隐藏其他数据点?
在 C3 中,这些圈子有一个名为 c3-circle
的 class。因此,使用 D3 选择,您可以根据绑定数据设置不透明度:
var circles = d3.selectAll(".c3-circle")
.style("opacity", function(d){
return d.value === 100 ? 1 : 0;
})
因此,只有 100
对应的圆是可见的。
这是演示:
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
]
}
});
var circles = d3.selectAll(".c3-circle").style("opacity", function(d){
return d.value === 100 ? 1 : 0;
})
<script src="https://d3js.org/d3.v3.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://rawgit.com/masayuki0812/c3/master/c3.css">
<script src="https://rawgit.com/masayuki0812/c3/master/c3.js"></script>
<div id="chart"></div>
使用 point show as false 隐藏所有 data points.
但是如果我想隐藏除一个数据点之外的所有数据点怎么办。
例如,
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
]
}
});
在上面的折线图中,如何突出显示值为100的数据点并隐藏其他数据点?
在 C3 中,这些圈子有一个名为 c3-circle
的 class。因此,使用 D3 选择,您可以根据绑定数据设置不透明度:
var circles = d3.selectAll(".c3-circle")
.style("opacity", function(d){
return d.value === 100 ? 1 : 0;
})
因此,只有 100
对应的圆是可见的。
这是演示:
var chart = c3.generate({
data: {
columns: [
['data1', 30, 200, 100, 400, 150, 250],
['data2', 50, 20, 10, 40, 15, 25]
]
}
});
var circles = d3.selectAll(".c3-circle").style("opacity", function(d){
return d.value === 100 ? 1 : 0;
})
<script src="https://d3js.org/d3.v3.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://rawgit.com/masayuki0812/c3/master/c3.css">
<script src="https://rawgit.com/masayuki0812/c3/master/c3.js"></script>
<div id="chart"></div>