jQuery の jqPlot で作る複数系列ブロックチャートの各ブロック色を違える

jQueryのjqPlotプラグインで作る複数系列の凡例付きブロックチャートにおいて、seriesColorsの配列に従って、各系列の各ブロックの色を変える方法。

実装例(サンプル)

実装例(サンプル)の動作について

凡例内の系列ラベル名である「一組」「二組」をクリックすると、その組の系列を、フェードアウトで非表示にする。再度クリックすると、フェードインで表示する。

実装例(サンプル)のソースコード

読み込み

パスは、それぞれ、アップロードした場所を指定する。

<script language="javascript" type="text/javascript" src="jquery-1.7.1.min.js"></script>
<!--[if lt IE 9]>
    <script language="javascript" type="text/javascript" src="excanvas.min.js"></script>
<![endif]-->
<script language="javascript" type="text/javascript" src="jquery.jqplot.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.blockRenderer.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.enhancedLegendRenderer.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.min.css" />

読み込むファイル。

JavaScript

<script>
jQuery( function() {
    jQuery . jqplot(
        'jqPlot-sample',
        [
            [ [ 61, 65, '太郎' ], [ 68, 74, '花子' ], [ 92, 34, '優斗' ], [ 83, 90, '次郎' ] ],
            [ [ 52, 72, '一郎' ], [ 26, 63, '大翔' ], [ 90, 85, 'さくら' ], [ 62, 56, '結衣' ] ]
        ],
        {
            seriesDefaults: {
                renderer: jQuery . jqplot . BlockRenderer,
                rendererOptions: {
                    varyBlockColors: true
                }
            },
            series: [
                { label: '一組' },
                { label: '二組' },
            ],
            axes: {
                xaxis: {
                    min:0,
                    max: 100
                },
                yaxis: {
                    min:0,
                    max: 100
                }
            },
            legend: {
                show: true,
                placement: 'outside',
                location: 'ne',
                renderer: jQuery . jqplot . EnhancedLegendRenderer,
                rendererOptions: {
                    seriesToggle: 'slow'
                }
            }
        }
    );
} );
</script>
seriesDefaults

グラフの種類や、系列の色、太さなど、系列に関する初期設定。

renderer

系列の生成編集に使うプラグインを指定。

rendererOptions

系列の生成編集オプション。

varyBlockColors

seriesColorsの配列に従って、各ブロックの色を違えるか。「true」を指定すると、seriesColorsの配列に従って、各ブロックの色を変える。「false」を指定すると、系列ごとに同一色でブロックを塗る。初期設定値は「false」。

series

各系列ごとに指定する系列に関するオプション。1つ目の系列から順に、配列で指定する。

label

系列のラベル

axes

軸に関するオプション。

xaxis

X軸に関するオプション。

min

X軸上の最小値を指定。

max

X軸上の最大値を指定。

yaxis

Y軸に関するオプション。

min

Y軸上の最小値を指定。

max

Y軸上の最大値を指定。

legend

凡例に関するオプション。

show

凡例を表示するか。「true」は表示。「false」は非表示。初期設定値は、「false」。

placement

凡例を配置する位置。

location

凡例を配置する位置(方角)。

renderer

凡例の生成編集に使うプラグインを指定。

  • jQuery . jqplot . EnhancedLegendRenderer: 凡例の機能を強化する。
rendererOptions

凡例の生成編集に関するオプション。

seriesToggle

凡例内の系列ラベル名をクリックすることで、系列の表示/非表示を切り替えられるようにするか。「true」もしくはフェードスピードを指定すると、切り替えられるようにする。「false」を指定すると、切り替えられないようにする。初期設定値は「normal」。

  • true: 切替有効
  • 'fast': 早めのフェードスピードで切替
  • 'normal': 通常のフェードスピードで切替
  • 'slow': 遅めのフェードスピードで切替
  • ミリ秒
  • false: 切替無効

HTML

<div id="jqPlot-sample" style="height: 300px; width: 300px;"></div>

スポンサード リンク

カテゴリー: blockRenderer, JavaScript, jqPlot, jQuery, グラフ、チャート, ブロックチャート, プラグイン パーマリンク