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>