LoginSignup
13
13

More than 5 years have passed since last update.

c3.jsの標準機能だけでは賄いきれない仕様に出会ったら

Last updated at Posted at 2015-09-29

javascriptで簡単に様々なグラフを描画できるc3.jsですが、
絶妙に機能が足りない・・・いや逆に多い・・・
だがd3.jsで一から作る余裕も無い・・・

そんなことありますよね。
そんな時にとった方法がこんな感じ。

html

<div id="chart"></div>

js

var chart = c3.generate({
    data: {
        columns: [
            ['data1', 1, 2, 3, 4, 5],
            ['data2', 5, 4, 3, 2, 1]
        ],
        type: 'area'
    },
    onrendered: function () {
        // d3で取得
        var svg = d3.select('#chart').select('svg')

        // jQueryで取得はコチラ
        // var svg = $('#chart svg')

        // 今回はグラフの背景色を編みかけ調やドット調にするためdefsにパターンを追加していきました。
        svg.select('defs').append('pattern')
        //・・・以下省略
    }
});

描画完了のコールバックで生成されたSVGを取得煮るなり焼くなりしてみました。
初期表示だけ処理を行う場合は『oninit』、リサイズ時のみの場合は『onresized』で。

他に良い方法ある気がするなぁ。
ご存知の方いらっしゃいませんか?

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13