2012-02-16 4 views
2

私のアプリケーションでチャートを作成するのにhighcharts APIを使用しています。私はhighchartsからhighstackクラスを使用しています。HighstockにおけるZoomTypeコントロールのリセット/設定

私が探しているのは、外部ボタンからのズームコントロールを処理したいということです。

たとえば、ズーム(はい、いいえ)のようなラジオボタンがあります。はいを選択すると、ズーム機能が私のグラフで有効になっているはずです。選択されていない場合、ズーム機能は無効にする必要があります。私は、次のプロパティで試してみました

zoomType:私は上記のプロパティをリセットしようとしましたが、失敗している

XY ''。

この問題を解決するための提案をお願いします。

事前のおかげで..

+0

http://jsfiddle.net/3qYAZとそのデモのコードを特定の日付範囲では、しかし、私はあなたのエンドユーザーを助けるしようとしているすべてのボタンを与えることによって決定することはできません "オン"または "オフ":それは特に必要な機能のようには見えません。 – mg1075

答えて

1

さて、あなただけの次のコードでマウスダウンハンドラを削除することができます:chart.container.onmousedown。それは最高の解決策ではない(タッチイベントが使用されているときに私はこれをモバイルでテストしていない)が、とにかくそれは良い出発点である。

ここでは、ライブデモを見つけることができます:あなたはhighstockは、デフォルトのボタンがあり、同じようにズームの範囲を変更するために、外部のボタンから「ズームコントロール」を望むなぜ私が理解することができます

window.chart = new Highcharts.Chart({ 

    chart: { 
     renderTo: 'container', 
     zoomType: 'x' 
    }, 

    series: [{ 
     data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
    }] 

}, function (chart) { 

    var checkbox = $('#zoom'), // a checkbox input in your html 
     zoomHandler = chart.container.onmousedown; 

    checkbox.on('change', function() { 
     if (this.checked) 
      chart.container.onmousedown = zoomHandler; 
     else 
      chart.container.onmousedown = null; 
    }); 
}); 
関連する問題