Using d3.js to modify c3.js chart

前端 未结 1 1628
囚心锁ツ
囚心锁ツ 2021-01-27 16:42

I am using C3.js to create charts. I have created a simple donut chart. Here is the screen shot:

When I hover over the different donut slices/pieces they expand. Here i

1条回答
  •  时光说笑
    2021-01-27 16:59

    Use the following

    setTimeout(function () {
        chart.internal.expandArc(['A', 'B'])
    }, 0)
    

    Source

    Note: The ideal solution would be to grab the mouseover callback and call it with your data but if you only want to expand the arcs just call the method above

    var currentSlice;
    
    var chart = c3.generate({
      bindto: '#dash',
      data: {
        x: 'x',
        columns: [
          ['x', '2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06'],
          ['A', 30, 200, 100, 400, 150, 250],
          ['B', 130, 100, 140, 200, 150, 50],
          ['C', 50, 100, 130, 240, 200, 150],
          ['D', 130, 100, 140, 200, 150, 50],
          ['E', 130, 150, 200, 300, 200, 100]
        ],
        type: 'donut'
      },
      axis: {
        x: {
          type: 'timeseries',
          tick: {
            format: '%Y-%m-%d',
            centered: true,
            position: 'inner-right'
          }
        }
      },
      bar: {
        width: {
          ratio: 0.5 // this makes bar width 50% of length between ticks
        }
      },
      tooltip: {
        grouped: false,
        contents: function(data, defaultTitleFormat, defaultValueFormat, color) {
          //  console.log("Containt");
          // console.log(data, defaultTitleFormat, defaultValueFormat, color);
          return "

    " + data[0].value + "

    "; } } }); setTimeout(function() { chart.internal.expandArc(['A', 'B']) }, 0)
    p {
      line-height: 1;
      font-weight: bold;
      padding: 5px 12px;
      background: rgba(0, 0, 0, 0.8);
      color: #fff;
      border-radius: 4px;
      line-height: 15px;
      font-size: 12px;
      min-width: 91px;
    }
    
    
    
    

    0 讨论(0)
提交回复
热议问题