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.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" />

読み込むファイル。

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>
系列データの指定方法

jqplotプラグインの2つ目の引数の、系列データの指定について。

[
    [ '日時', 始値, 高値, 安値, 終値 ],
    [ '日時', 始値, 高値, 安値, 終値 ],
    ・・・
]
オプション
seriesDefaults

グラフの種類や、系列の色、太さなど、系列に関する初期設定。

renderer

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

rendererOptions

系列の生成編集オプション。

candleStick

ローソク足(ローソクチャート)にするか。「true」にすると、ローソク足(ローソクチャート)になる。「false」にすると、いかり足チャートになる。初期設定値は「false」

yaxis

左右どちらのY軸を使うかを指定する。初期設定値は「yaxis」。

  • yaxis: Y軸(左端の軸)。
  • y2axis: Y2軸(右端の軸)。
axes

軸に関するオプション。

xaxis

X軸に関するオプション。

renderer

jQuery . jqplot . DateAxisRendererX軸を時間軸として扱う。

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>

スポンサード リンク

カテゴリー: dateAxisRenderer, highlighter, JavaScript, jqPlot, jQuery, ohlcRenderer, グラフ、チャート, プラグイン, ローソク足 パーマリンク