隐藏一些图形元素c3js,而不卸载数据

时间:2014-12-30 06:03:15

标签: javascript d3.js charts c3.js

是否可以隐藏c3js图表中的某些线条,条形图和其他图形元素,而无需卸载或隐藏数据?

我希望将这些数据保存在工具提示中,但隐藏一些图形元素。将鼠标悬停在一个栏上,查看其他隐藏栏的数据。

我知道隐藏方法 - chart.hide(['data2', 'data3']); - 但这也会从工具提示中删除数据。

我的问题似乎没有在documentation中讨论过。

11月的similar issue没有解决。

我现在没有任何代码 - 只是寻找制作自定义工具提示的替代方法。

由于

1 个答案:

答案 0 :(得分:8)

一个简单的解决方案是对图表svg元素使用CSS显示属性,如: -

http://jsfiddle.net/chetanbh/j9vx0dmg/

var chart = c3.generate({
  data: {
    columns: [
        ['data1', 100, 200, 150, 300, 200],
        ['data2', 400, 500, 250, 700, 300],
    ]
  }
});

在上面的c3js图表示例中,线条图用两条线渲染。

每一行都是Group元素下的Path svg元素。这些组元素将获得类属性值,例如' c3-target-data1'和' c3-target-data2'。

利用这一点,我们可以使用CSS,如: -

.c3-target-data2 {
    display: none;
}

隐藏整个' data2'在图表中,工具提示将继续显示“数据2”的数据。

enter image description here

希望这有帮助。