jQuery の jqPlot の線グラフに加えた水平線を、ボタン操作で移動

jQueryのjqPlotプラグインで作る複数系列の折れ線グラフにおいて、指定した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.canvasOverlay.min.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.jqplot.min.css" />

読み込むファイル。

JavaScript

<script>
jQuery( function() {
    jqPlotSample = jQuery . jqplot(
        'jqPlot-sample',
        [
            [ [ 1, 83 ], [ 2, 61 ], [ 3, 79 ], [ 4, 88 ], [ 5, 62 ], [ 6, 75 ] ],
            [ [ 1, 75 ], [ 2, 86 ], [ 3, 71 ], [ 4, 26 ], [ 5, 58 ], [ 6, 62 ] ],
            [ [ 1, 25 ], [ 2, 52 ], [ 3, 74 ], [ 4, 63 ], [ 5, 85 ], [ 6, 96 ] ]
        ],
        {
            axes: {
                yaxis: {
                    ticks: [ '0', '30', '70', '100' ],
                }
            },
            canvasOverlay: {
                show: true,
                objects: [
                    {
                        horizontalLine: {
                            name: 'horizontalLineA',
                            y: 30,
                            lineWidth: 5,
                            color: 'red',
                            lineCap: 'round',
                            xOffset: 0.25
                        }
                    },
                    {
                        dashedHorizontalLine: {
                            name: 'horizontalLineB',
                            y: 70,
                            lineWidth: 2,
                            color: 'blue',
                            lineCap: 'round',
                            xOffset: 0.75
                        }
                    }
                ]
            }
        }
    );
} );
function lineup( plot, name ) {
    var co = plot . plugins . canvasOverlay;
    var line = co . get( name );
    line . options . y += 5;
    co . draw( plot );
}
function linedown( plot, name ) {
    var co = plot . plugins . canvasOverlay;
    var line = co . get( name );
    line . options . y -= 5;
    co . draw( plot );
}
</script>
axes

軸に関するオプション。

yaxis

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

ticks

Y軸上の目盛りを指定。

指定しない場合は、自動的に計算する。

canvasOverlay

グラフに描き加える線に関するオプション。

show

グラフに線を描き加えるか。「true」は表示。「false」は非表示。初期設定値は「false」。

objects

描き加える線の種類ごとに、配列で指定。

horizontalLine

水平の実線。

name

このオーバーレイオブジェクトのオプション名。

y

水平の実線を描き加えるYの値。

lineWidth

水平の実線の太さ。

color

水平の実線の色。

lineCap

水平の実線の端の形。

  • round: 円形
  • butt: 四角形
  • square: 四角形

xOffset

水平方向のオフセット値。

dashedHorizontalLine

水平の破線。

name

このオーバーレイオブジェクトのオプション名。

y

水平の破線を描き加えるYの値。

lineWidth

水平の破線の太さ。

color

水平の破線の色。

lineCap

水平の破線の端の形。

  • round: 円形
  • butt: 四角形
  • square: 四角形

xOffset

水平方向のオフセット値。

HTML

<div style="margin: 5px;">
    <button onclick="lineup( jqPlotSample, 'horizontalLineA' )"> 赤い実線を上へ移動 </button>
    <button onclick="linedown( jqPlotSample, 'horizontalLineA' )"> 赤い実線を下へ移動 </button>
    |
    <button onclick="lineup( jqPlotSample, 'horizontalLineB' )"> 青い破線を上へ移動 </button>
    <button onclick="linedown( jqPlotSample, 'horizontalLineB' )"> 青い破線を下へ移動 </button>
</div>
<div id="jqPlot-sample" style="height: 300px; width: 400px;"></div>

スポンサード リンク

カテゴリー: canvasOverlay, JavaScript, jqPlot, jQuery, グラフ、チャート, プラグイン, 線グラフ パーマリンク