jQueryのjqPlotプラグインで作る縦棒グラフにおいて、マウスカーソル(マウスポインタ)で選択した範囲のY軸だけ、ズーム(拡大)できるようにする方法。
実装例(サンプル)
実装例(サンプル)の動作について
グラフの一部を、マウスカーソル(マウスポインタ)で選択すると、選択した範囲のY軸を、グラフ全体に拡大して表示する。グラフを、ダブルクリックすると、元に戻る。
実装例(サンプル)のソースコード
読み込み
パスは、それぞれ、アップロードした場所を指定する。
<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.cursor.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.cursor.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.cursor.min.js
- jquery.jqplot.min.css
JavaScript
<script>
jQuery( function() {
jQuery . jqplot(
'jqPlot-sample',
[
[ [ '1月', 41 ],[ '2月', 37 ],[ '3月', 61 ],[ '4月', 65 ], [ '5月', 72 ], [ '6月', 74 ], [ '7月', 63 ], [ '8月', 85 ], [ '9月', 90 ], [ '10月', 87 ], [ '11月', 73 ], [ '12月', 78 ] ]
],
{
seriesDefaults: {
renderer: jQuery . jqplot . BarRenderer,
},
axes: {
xaxis: {
renderer: jQuery . jqplot . CategoryAxisRenderer,
}
},
cursor:{
show: true,
showTooltip: false,
zoom: true,
constrainZoomTo: 'y',
}
}
);
} );
</script>
jQuery( function() {
jQuery . jqplot(
'jqPlot-sample',
[
[ [ '1月', 41 ],[ '2月', 37 ],[ '3月', 61 ],[ '4月', 65 ], [ '5月', 72 ], [ '6月', 74 ], [ '7月', 63 ], [ '8月', 85 ], [ '9月', 90 ], [ '10月', 87 ], [ '11月', 73 ], [ '12月', 78 ] ]
],
{
seriesDefaults: {
renderer: jQuery . jqplot . BarRenderer,
},
axes: {
xaxis: {
renderer: jQuery . jqplot . CategoryAxisRenderer,
}
},
cursor:{
show: true,
showTooltip: false,
zoom: true,
constrainZoomTo: 'y',
}
}
);
} );
</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
: ピラミッドグラフ
- axes
軸に関するオプション。
- xaxis
X軸に関するオプション。
- renderer
jQuery . jqplot . CategoryAxisRenderer
: X軸をカテゴリとして扱う。
- cursor
カーソルに関するオプション。
- show
カーソルを表示するか。「true」を指定すると表示。「false」を指定すると非表示。
- showTooltip
マウスカーソルの位置のXとYの値を示すツールチップを表示するか。「true」を指定すると表示。「false」を指定すると非表示。初期設定値は「true」。
- zoom
ズーム(拡大縮小)機能を有効にするか。「true」を指定すると、ズーム機能が有効になる。「false」を指定すると、ズーム機能が無効になる。初期設定値は「false」。
- constrainZoomTo
ズームの制限。「none」を指定すると制限しない。「x」を指定すると、X軸だけズーム。「y」を指定すると、Y軸だけズーム。初期設定値は「none」。
HTML
<div id="jqPlot-sample" style="height: 300px; width: 500px;"></div>