2017-12-28 40 views
0

amChartsを使用して在庫データを表示しています。私は7つのズームレベル:1H, 1D, 1W, 1M, 3M, 1Y, MAXを持っています。 1H、1Dの場合、分かりやすいデータを含むデータセットを使用しています。 1W、1Mについては、私は時系列データを持つ別のデータセットを使用します。残りの3つのレベルでは、私は日々のデータを持つ別のデータセットを持っています。今ここに私の問題である:最初に、私はデフォルトのズームレベルの1Dで1分ごとのデータをロードし、そして、1Wボタンまたは任意のさらなるズームレベル]ボタンをクリックした後、chart.periodSelectorにたstartDate分の間に差をリスナー"changed"を追加amCharts wrongズーム開始日と終了日

生成イベントの終了日:var minsDiff = (event.endDate.getTime() - event.startDate.getTime())/60000は、1日(1440)の分数と常に一致し、7日の代わりになります。

ロードされている現在のデータセットが、1440個のデータポイントの最大数を持つ分のデータセットである可能性があります。そのデータだけが利用可能であるため、1週間の日付範囲は1日の日付範囲と同じになる可能性があります。しかし、1Wのボタンをクリックすると、実際の日付範囲は1週間です。これは、別のデータセット(1Wの時間単位のデータ)を持つ別のチャートをロードしたいからです。

図のリスナー"zoomed"を使用してみました。しかし、同じ問題が残っていました。

お願いします。
ありがとう:)

+0

はあなたのチャートの設定を投稿することができます:changedイベントでpredifinedPeriodプロパティをチェックすると、データは必ずしも全期間を含むものではありません。このシナリオで役立ちますクリックされたボタンを確認する確実な方法ですか? – xorspark

答えて

1

通常、範囲外の期間は、hideOutOfScopePeriodsをfalseに設定しない限り表示されません。あなたが気づいたように、期間が利用可能なデータの量より大きければ、グラフはあなたが持っているデータに合わせてズームを切り捨てます。

listeners: [ 
    { 
    event: "changed", 
    method: function(eventObj) { 
     console.log("clicked " + eventObj.predefinedPeriod); 
    } 
    } 
] 
+0

お返事ありがとうございます。あなたはそれについて何か知っている人は誰もいないように、あなただけがその質問のために助けることができるので、https://stackoverflow.com/questions/48023787/amcharts-chartscrollbar-going-out-of-chartdivも見てください。再度、感謝します。 –

関連する問題