【问题标题】:How to highlight only one datapoint in c3.js line graph?如何在 c3.js 折线图中仅突出显示一个数据点?
【发布时间】:2017-09-12 21:47:19
【问题描述】:

使用点显示为假隐藏所有data points
但是,如果我想隐藏除一个数据点之外的所有数据点该怎么办。

例如,

var chart = c3.generate({
    data: {
        columns: [
            ['data1', 30, 200, 100, 400, 150, 250],
            ['data2', 50, 20, 10, 40, 15, 25]
        ]
    }
});

在上面的折线图中,如何突出显示值为 100 的数据点并隐藏所有其他数据点?

【问题讨论】:

  • 您是否接受没有 C3 的“纯”D3 解决方案?
  • @GerardoFurtado OK

标签: javascript css d3.js c3.js


【解决方案1】:

在 C3 中,这些圆圈有一个名为 c3-circle 的类。因此,使用 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>

【讨论】:

    猜你喜欢
    • 2018-01-22
    • 2016-09-29
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    相关资源
    最近更新 更多