LoginSignup
8
7

More than 5 years have passed since last update.

Chart.jsでLegendをチャートの横に配置する方法

Posted at

Chart.jsを使うと簡単にチャートが作成できて嬉しくなる。
サイト内にチャートを配置したいみたいな案件があったので、Chart.jsを使おうと思ったのだが、困ったことがでてきた。

SS_ 2016-05-31 14.30.35.jpg

チャートの下に「男性」とか「女性」とかある。(Legendと呼ぶらしい)
このLegendのポジションを操るオプションがあるのだが、まさかのtopbottomしか選択できずleftrightには配置できないらしい。

公式ドキュメント 「Position of the legend. Options are 'top' or 'bottom'」
ぼく 「ほえー...」

さらにChart.jsはCanvasを使用して作られているためDOMを弄くり倒すことも難しい。
辛い。

解決方法

myChart.generateLegend();

すれば

<ul class="0-legend"><li><span style="background-color:rgba(54, 162, 235, 0.2)"></span>男性</li><li><span style="background-color:rgba(255, 99, 132, 0.2)"></span>女性</li></ul>

のような、便利なHTMLが吐き出されるからそれをinnerHTMLだとかでDOMに突っ込めばOKっぽい。めでたい。

8
7
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
8
7