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.dateAxisRenderer.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.highlighter.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.ohlcRenderer.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.dateAxisRenderer.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.highlighter.min.js"></script>
<script language="javascript" type="text/javascript" src="plugins/jqplot.ohlcRenderer.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.dateAxisRenderer.min.js
- jqplot.highlighter.min.js
- jqplot.ohlcRenderer.min.js
- jquery.jqplot.min.css
JavaScript
<script>
jQuery( function() {
ohlc= [
[ '2012-01-01 0:00AM', 62, 70, 57, 68 ],
[ '2012-02-01 0:00AM', 70, 83, 68, 76 ],
[ '2012-03-01 0:00AM', 75, 96, 72, 94 ],
[ '2012-04-01 0:00AM', 93, 95, 72, 84 ],
[ '2012-05-01 0:00AM', 85, 86, 67, 71 ],
[ '2012-06-01 0:00AM', 75, 88, 75, 82 ]
]
jQuery . jqplot(
'jqPlot-sample',
[
ohlc
],
{
seriesDefaults: {
renderer: jQuery . jqplot . OHLCRenderer,
rendererOptions: {
candleStick: true
},
yaxis:'y2axis',
},
axes:{
xaxis:{
renderer: jQuery . jqplot . DateAxisRenderer,
min: '2011-12-01 0:00AM',
max: '2012-08-01 0:00AM',
tickInterval: '1 months',
tickOptions:{
formatString: '%B'
},
}
},
highlighter: {
show: true,
showMarker: false,
tooltipAxes: 'xy',
yvalues: 4,
formatString: ' \
<table class="jqplot-highlighter"> \
<tr><td>月:</td><td>%s</td></tr> \
<tr><td>始値:</td><td>%s</td></tr> \
<tr><td>高値:</td><td>%s</td></tr> \
<tr><td>安値:</td><td>%s</td></tr> \
<tr><td>終値:</td><td>%s</td></tr> \
</table> \
'
}
}
);
} );
</script>
jQuery( function() {
ohlc= [
[ '2012-01-01 0:00AM', 62, 70, 57, 68 ],
[ '2012-02-01 0:00AM', 70, 83, 68, 76 ],
[ '2012-03-01 0:00AM', 75, 96, 72, 94 ],
[ '2012-04-01 0:00AM', 93, 95, 72, 84 ],
[ '2012-05-01 0:00AM', 85, 86, 67, 71 ],
[ '2012-06-01 0:00AM', 75, 88, 75, 82 ]
]
jQuery . jqplot(
'jqPlot-sample',
[
ohlc
],
{
seriesDefaults: {
renderer: jQuery . jqplot . OHLCRenderer,
rendererOptions: {
candleStick: true
},
yaxis:'y2axis',
},
axes:{
xaxis:{
renderer: jQuery . jqplot . DateAxisRenderer,
min: '2011-12-01 0:00AM',
max: '2012-08-01 0:00AM',
tickInterval: '1 months',
tickOptions:{
formatString: '%B'
},
}
},
highlighter: {
show: true,
showMarker: false,
tooltipAxes: 'xy',
yvalues: 4,
formatString: ' \
<table class="jqplot-highlighter"> \
<tr><td>月:</td><td>%s</td></tr> \
<tr><td>始値:</td><td>%s</td></tr> \
<tr><td>高値:</td><td>%s</td></tr> \
<tr><td>安値:</td><td>%s</td></tr> \
<tr><td>終値:</td><td>%s</td></tr> \
</table> \
'
}
}
);
} );
</script>
系列データの指定方法
jqplotプラグインの2つ目の引数の、系列データの指定について。
[
[ '日時', 始値, 高値, 安値, 終値 ],
[ '日時', 始値, 高値, 安値, 終値 ],
・・・
]
[ '日時', 始値, 高値, 安値, 終値 ],
[ '日時', 始値, 高値, 安値, 終値 ],
・・・
]
オプション
- 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
: ピラミッドグラフ
- rendererOptions
系列の生成編集オプション。
- candleStick
ローソク足(ローソクチャート)にするか。「true」にすると、ローソク足(ローソクチャート)になる。「false」にすると、いかり足チャートになる。初期設定値は「false」。
- yaxis
左右どちらのY軸を使うかを指定する。初期設定値は「yaxis」。
yaxis
: Y軸(左端の軸)。y2axis
: Y2軸(右端の軸)。
- axes
軸に関するオプション。
- xaxis
X軸に関するオプション。
- renderer
jQuery . jqplot . DateAxisRenderer
: X軸を時間軸として扱う。- min
X軸の最小値。
- max
X軸の最大値。
- tickInterval
目盛りの間隔。
- tickOptions
目盛りラベルに関するオプション。
- formatString
目盛りのラベルの形式を指定。
%B
: 月名
- highlighter
ハイライトに関するオプション。
- show
ハイライトを表示するか。「true」を指定すると表示。「false」を指定すると非表示。初期設定値は「false」。
- showMarker
マーカーを表示するか。「true」を指定すると表示。「false」を指定すると非表示。初期設定値は「true」。
- tooltipAxes
ツールチップに表示する値。
x
: Xの値を表示。y
: Yの値を表示。both
: XとYの値を表示。xy
: XとYの値を表示。yx
: YとXの値を表示。
- yvalues
データポイントの配列内に存在するYの値の数。初期設定値は「1」。
- formatString
ツールチップの形式を指定。
HTML
<div id="jqPlot-sample" style="height: 300px; width: 500px; margin-left: 20px;"></div>