到如何在 C3 中设置单个列/条形的样式.js

to How do I style an individual column / bar in C3.js?

本文关键字:js 样式 单个列 设置 C3      更新时间:2023-09-26

我是 c3.js/可视化的新手,正在尝试在 C3 中设置 data1 条/列的样式.js,我有以下 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。