【问题标题】:C3.js making line appear dashedC3.js 制作线出现虚线
【发布时间】:2015-03-19 17:08:09
【问题描述】:

我使用 C3.js 使用两个 Y 轴。我有 2 个数据系列:

data: {
        rows: [
        ['data1', 'data2', 'data3'],
        [90, 120, 300],
        [40, 160, 240],
        [50, 200, 290],
        [120, null, 230],
        [80, null, 300],
        [90, null, 320],
    ],
        regions: {
            'data1': [{'start':0, 'style':'dashed'},],
        }
    }

当我运行它时,我得到一条虚线,然后它将 null 绘制为沿 x 轴的虚线。这不是我想要的。我希望它在数据集为空时停止绘图。如果我删除该区域,我会得到我想要的功能,但我没有得到虚线。

有没有办法在不绘制空值的情况下获得虚线?

【问题讨论】:

  • 如果值为空,您可以将它们从数据数组中排除吗? (即事先做一些预处理)
  • 让我更新我的数据来告诉你为什么我认为我不能这样做

标签: css charts c3


【解决方案1】:

由于 C3 使用 SVG,您可以使用 CSS 选择器来修改其元素的外观。

C3 图表中的所有线都将具有 .c3-line 类,请查看:1

所以,我们可以将其添加到我们的 CSS 中:

.c3-line{
  stroke-dasharray: 5,5;
}

这是stroke-dasharray 的一些文档。

【讨论】:

  • 这会将破折号应用于所有行。 c3 有没有办法将类应用于特定系列?
  • C3 还为每个数据行添加了一个特定的类。在您的示例中,它将被命名为“.c3-target-data1”。
  • 查看“带区域的折线图”示例:[c3js.org/samples/simple_regions.html].如果你不喜欢破折号,你可以添加自己的样式:c3-line.lineoff {visibility:hidden;} 然后指定“lineoff”。
猜你喜欢
  • 2016-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-24
相关资源
最近更新 更多