jQuery の jqPlot で作る折れ線グラフの系列の表示/非表示切替

jQueryのjqPlotプラグインで作る複数系列の凡例付き折れ線グラフにおいて、凡例内の系列ラベル名をクリックすることで、各系列の表示/非表示を切り替える方法。

実装例(サンプル)

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

凡例内の系列ラベル名をクリックすると、その系列の折れ線グラフを、非表示にする。系列ラベル名には訂正線が引かれる。再度クリックすると、表示する。

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

読み込み

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

<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.enhancedLegendRenderer.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.min.css" />

読み込むファイル。

JavaScript

<script>
jQuery( function() {
    Tarou = [ [ 1, 65 ], [ 2, 72 ], [ 3, 74 ], [ 4, 63 ], [ 5, 85 ], [ 6, 90 ] ];
    Hanako = [ [ 1, 83 ], [ 2, 81 ], [ 3, 79 ], [ 4, 88 ], [ 5, 78 ], [ 6, 96 ] ];
    Ichirou = [ [ 1, 81 ], [ 2, 86 ], [ 3, 71 ], [ 4, 69 ], [ 5, 90 ], [ 6, 82 ] ];
    jQuery . jqplot(
        'jqPlot-sample',
        [
            Tarou, Hanako, Ichirou
        ],
        {
            series: [
                { label: '太郎' },
                { label: '花子' },
                { label: '一郎' }
            ],
            legend: {
                show: true,
                placement: 'inside',
                location: 's',
                renderer: jQuery . jqplot . EnhancedLegendRenderer,
                rendererOptions: {
                    numberRows: 1,
                    seriesToggle: true
                }
            }
        }
    );
} );
</script>
series

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

label

系列のラベル

legend

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

show

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

placement

凡例を配置する位置。

location

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

renderer

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

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

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

numberRows

凡例の行数。

seriesToggle

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

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

HTML

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

スポンサード リンク

カテゴリー: enhancedLegendRenderer, JavaScript, jqPlot, jQuery, グラフ、チャート, プラグイン, 線グラフ パーマリンク