javascript - 如何在 C3.js 中设置单个列/栏的样式?

标签 javascript c3.js

我是 c3.js/可视化的新手,正在尝试在 C3.js 中设置 data1 栏/列的样式,我有以下 css 并且可以选择所有栏:

#chart .c3-chart-bars .c3-shape {
  stroke: black !important;
  stroke-width: 2 !important;
}

我可以像这样设置我想要设置样式的栏的填充不透明度:

.c3-bars-data1 {
  fill-opacity: 0 !important;
}

但是,如果我尝试使用相同的选择器设置笔画,则什么也不会发生:

.c3-bars-data1 {
  fill-opacity: 0 !important;
  stroke: black !important;
  stroke-weight: 1 !important;
}

仅使用 c3-bars-data1 我无法更改填充颜色或任何其他选项。

var chart = c3.generate({
  bindto: '#chart',
  data: {
    columns: [
      ['data1', -30, 200, 200, 400, -150, 250],
      ['data2', 130, 100, -100, 200, -150, 50],
      ['data3', -230, 200, 200, -300, 250, 250]
    ],
    type: 'bar',
    groups: [
      ['data1', 'data2']
    ]
  },
  grid: {
    y: {
      lines: [{
        value: 0
      }]
    }
  }
});

最佳答案

如果您打算为代表 data1 的所有条形图(不仅仅是单个条形图)设置颜色,您可以将 colors 属性添加到数据定义中:

data:{
  colors: {
    'data1':'#FF0000'
  },
...

参见:http://c3js.org/reference.html#data-colors了解更多信息

编辑:TS 提到他想要造型而不仅仅是颜色,同样的道理,有点复杂

data:{
  classes: {
    data1: 'additional-data1-class',
    data2: 'additional-data2-class',
  }
...

这会将 c3-target-additional-data1-class 添加到 data1 栏,您可以在 CSS 中定义它。参见:http://c3js.org/reference.html#data-classes了解更多信息。

关于javascript - 如何在 C3.js 中设置单个列/栏的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35931441/

相关文章:

javascript - 我们如何在 c3js 中为多组条形图添加条形图之间的空间?

javascript - SVG 到 PDF 的转换适用于 Plotly.js 但不适用于 C3.js

javascript - 如何在谷歌地图v3中创建在所有缩放级别具有相同半径的圆?

javascript - 根据其他键值更改 json 对象中的值

javascript - 声音不在一个页面上播放,但在另一页面上播放

javascript - 我如何使用 c3.js 在 javascript 中制作图表

responsive-design - C3.js 响应式 x 轴时间序列

javascript - 如何在单击时将事件类设置为一页中的多个选项卡?

javascript - 模块导出 ECMA6 类的最佳实践

javascript - 带有 JSON 数据的 C3 图表