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.barRenderer.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.categoryAxisRenderer.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" />
<!--[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.barRenderer.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.categoryAxisRenderer.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" />
読み込むファイル。
- jquery-1.7.1.min.js
- jquery.jqplot.min.js
- jqplot.barRenderer.min.js
- jqplot.categoryAxisRenderer.min.js
- jqplot.enhancedLegendRenderer.min.js
- jquery.jqplot.min.css
JavaScript
<script>
jQuery( function() {
Tokyo = [ [ 'A', 8031624 ], [ 'B', 2942392 ], [ 'C', 1166755 ], [ 'D', 8811831 ], [ 'E', 4323067 ], [ 'F', 1718392 ] ];
Osaka = [ [ 'A', 5919275 ], [ 'B', 2228422 ], [ 'C', 6369703 ], [ 'D', 9916855 ], [ 'E', 5181441 ], [ 'F', 9623963 ] ];
Nagoya = [ [ 'A', 2782943 ], [ 'B', 8612849 ], [ 'C', 1628417 ], [ 'D', 5066818 ], [ 'E', 7536765 ], [ 'F', 1747767 ] ];
jQuery . jqplot(
'jqPlot-sample',
[
Tokyo, Osaka, Nagoya
],
{
seriesDefaults: {
renderer: jQuery . jqplot . BarRenderer,
},
series: [
{ label: '東京本店' },
{ label: '大阪支店' },
{ label: '名古屋支店' }
],
legend: {
show: true,
placement: 'insideGrid',
location: 'n',
renderer: jQuery . jqplot . EnhancedLegendRenderer,
rendererOptions: {
numberColumns: 3,
seriesToggle: false
}
},
axes: {
xaxis: {
renderer: jQuery . jqplot . CategoryAxisRenderer,
}
}
}
);
} );
</script>
jQuery( function() {
Tokyo = [ [ 'A', 8031624 ], [ 'B', 2942392 ], [ 'C', 1166755 ], [ 'D', 8811831 ], [ 'E', 4323067 ], [ 'F', 1718392 ] ];
Osaka = [ [ 'A', 5919275 ], [ 'B', 2228422 ], [ 'C', 6369703 ], [ 'D', 9916855 ], [ 'E', 5181441 ], [ 'F', 9623963 ] ];
Nagoya = [ [ 'A', 2782943 ], [ 'B', 8612849 ], [ 'C', 1628417 ], [ 'D', 5066818 ], [ 'E', 7536765 ], [ 'F', 1747767 ] ];
jQuery . jqplot(
'jqPlot-sample',
[
Tokyo, Osaka, Nagoya
],
{
seriesDefaults: {
renderer: jQuery . jqplot . BarRenderer,
},
series: [
{ label: '東京本店' },
{ label: '大阪支店' },
{ label: '名古屋支店' }
],
legend: {
show: true,
placement: 'insideGrid',
location: 'n',
renderer: jQuery . jqplot . EnhancedLegendRenderer,
rendererOptions: {
numberColumns: 3,
seriesToggle: false
}
},
axes: {
xaxis: {
renderer: jQuery . jqplot . CategoryAxisRenderer,
}
}
}
);
} );
</script>
- seriesDefaults
- グラフの種類や、系列の色、太さなど、系列に関する初期設定。 - renderer
- 系列の生成編集に使うプラグインを指定。 - jQuery . jqplot . BarRenderer: 棒グラフ
- jQuery . jqplot . BezierCurveRenderer: ベジェ曲線グラフ
- jQuery . jqplot . BlockRenderer: ブロックチャート
- jQuery . jqplot . BubbleRenderer: バブルチャート
- jQuery . jqplot . DonutRenderer: ドーナツグラフ
- jQuery . jqplot . MeterGaugeRenderer: メーターゲージ
- jQuery . jqplot . MekkoRenderer: マリメッコ・チャート
- jQuery . jqplot . OHLCRenderer: いかり足、ローソク足
- jQuery . jqplot . PieRenderer: 円グラフ
- jQuery . jqplot . PyramidRenderer: ピラミッドグラフ
 
 
- series
- 各系列ごとに指定する系列に関するオプション。1つ目の系列から順に、配列で指定する。 - label
 
- legend
- 凡例に関するオプション。 - show
- 凡例を表示するか。「true」は表示。「false」は非表示。初期設定値は、「false」。 
- placement
- 凡例を配置する位置。 
- location
- 凡例を配置する位置(方角)。 
 
- renderer
- 凡例の生成編集に使うプラグインを指定。 - jQuery . jqplot . EnhancedLegendRenderer: 凡例の機能を強化する。
 
- rendererOptions
- 凡例の生成編集に関するオプション。 - numberColumns
- 凡例の列数。 
- seriesToggle
- 凡例内の系列ラベル名をクリックすることで、系列の表示/非表示を切り替えられるようにするか。「true」もしくはフェードスピードを指定すると、切り替えられるようにする。「false」を指定すると、切り替えられないようにする。初期設定値は「normal」。 - true: 切替有効
- 'fast': 早めのフェードスピードで切替
- 'normal': 通常のフェードスピードで切替
- 'slow': 遅めのフェードスピードで切替
- ミリ秒
- false: 切替無効
 
 
 
- axes
- 軸に関するオプション。 - xaxis
- X軸に関するオプション。 - renderer
- jQuery . jqplot . CategoryAxisRenderer: X軸をカテゴリとして扱う。
 
 
HTML
<div id="jqPlot-sample" style="height: 300px; width: 500px;"></div>