【问题标题】:Hide some graphic elements, c3js, without unloading data隐藏一些图形元素,c3js,不卸载数据
【发布时间】:2015-02-26 07:39:01
【问题描述】:

是否可以在不卸载或隐藏数据的情况下从 c3js 图表中隐藏某些线条、条形和其他图形元素?

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

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

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

11 月的一个similar issue 没有解决。

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

谢谢

【问题讨论】:

    标签: javascript d3.js charts c3.js


    【解决方案1】:

    一个简单的解决方案是对图表 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”,但工具提示将继续显示“data2”的数据。

    希望这会有所帮助。

    【讨论】:

    • 这当然有帮助。干杯
    • 作为参考,这似乎适用于折线图。但是,条形图看起来并不是最好的,尤其是当您隐藏比其他条形更长的条形时。
    • 您说得对,此解决方案适用于折线图和面积图。对于分组或堆叠的条形图可能看起来很糟糕。为了使它适用于条形图,需要一些 c3js 方法覆盖。只是 CSS 不会很好用。
    • 如果多一个数据列具有字符串值,会怎样?我不想在图表线上显示它但需要在工具提示中显示
    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多