プロットライン(YAxis上)を動的に更新する方法に問題がありますか?具体的には、グラフの期間の最大値、最小値、平均値を計算し、それが表す3つの線を設定する必要があります。どうやってやるの? 多くの感謝!highcharts動的プロットライン
答えて
これは、プロットラインを動的に更新する方法の非常に簡単な例です。
- ボタンを押すことで更新できる1つのデータ系列があります。
- 2番目のボタンを押すと、シリーズのデータに従ってプロットラインが追加または削除され、再描画されます。
- データポイントのサブセットを使用する場合は、それに応じて関数
getKPIByData
を操作するか、data
引数を変更してください。
http://jsfiddle.net/hsL4pwsh/12/
;$(function() {
var curActiveData = 1;
var addedPlotlines = false;
var data1 = [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4];
var data2 = [31.9, 73.5, 117.4, 29.2, 109.0, 181.0, 212.6, 137.5, 225.4, 199.1, 91.6, 11.4];
var getKPIByData = function(data) {
function getMaxOfArray(numArray) {
return Math.max.apply(null, numArray);
}
function getMinOfArray(numArray) {
return Math.min.apply(null, numArray);
}
var minRate,
maxRate = 0,
rate,
i,
avgRate,
totalRate = 0;
for (i = 0; i < data.length; i++) {
totalRate += data[i];
}
return {
minRate: getMinOfArray(data),
maxRate: getMaxOfArray(data),
avgRate: totalRate/data.length
};
};
$('#container').highcharts({
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
},
series: [{
data: data1
}]
});
// the button action
var $button1 = $('#addPlotlines'),
$button2 = $('#updatePlotlines'),
chart = $('#container').highcharts();
$button1.on("click", function() {
var curData = [];
for (var i = 0; i < chart.series[0].data.length; i++) {
curData[curData.length] = chart.series[0].data[i].y;
}
var result = getKPIByData(curData);
if (addedPlotlines) {
chart.yAxis[0].removePlotLine('min');
chart.yAxis[0].removePlotLine('max');
chart.yAxis[0].removePlotLine('avg');
}
chart.yAxis[0].addPlotLine({
color: 'green',
width: 2,
id: "min",
value: result.minRate
});
chart.yAxis[0].addPlotLine({
color: 'red',
width: 2,
id: "max",
value: result.maxRate
});
chart.yAxis[0].addPlotLine({
color: 'blue',
width: 2,
id: "avg",
value: result.avgRate
});
addedPlotlines = true;
});
$button2.on("click", function() {
var newActive = (curActiveData == 1) ? 2 : 1;
console.log(newActive);
chart.series[0].update({
data: (newActive == 1) ? data1 : data2
});
curActiveData = newActive;
});
});
答えに感謝します。しかし、私がやろうとしているのは、ボタンを使って更新するボタンを必要としない、動的なグラフのプロットラインを更新することです。 –
ボタンを使って、私は必要な機能を実証しようとしていました。 'addPlotline()'と 'removePlotline()'のようなボタンをクリックするのではなく、イベントハンドラを自由に使うことができます。 KPI計算(最小、最大、平均)は、ニーズに合わせて調整することもできます。 – nilsole
私は思い切って、非常にありがとう〜 –
- 1. HighCharts対数軸スケールのドラッグ可能なプロットライン
- 2. プロットライン
- 3. プロットライン
- 4. 動的に直列にロードするHighCharts
- 5. highcharts動的にポイントを追加する
- 6. ハイチャート - プロットラインの裏にプロットラインを隠す
- 7. プロットラインは
- 8. ハイチャート - プロットラインのソリッドゲージ
- 9. リーフレットマップへのプロットライン
- 10. Highchartsテーマを変更する(部分的に動作する)
- 11. highcharts jquery動的変更グラフの種類の列を棒に
- 12. HighChartsのrenderer.text CSS属性を動的に変更します
- 13. HighChartsのstartAngle値を動的に変更する
- 14. Highchartsデータの比較に基づく動的な列の色
- 15. Highchartsグラフにテキストと円を動的に配置しますか?
- 16. Highcharts動的更新ライブデータの値を取得する方法
- 17. HIGHCHARTS Areaspline動的データグラフの結果が悪い
- 18. Highcharts - 動的/無効にスクロールバーを有効に
- 19. D3.JS:2Dプロットのプロットライン静的wrt軸の作成
- 20. プロットライン。ここでのポイント
- 21. プロットラインの後ろにバープロット
- 22. プロットラインを使ったGnuplotヒストグラム
- 23. Matplotlib - プロットラインとプロットフレームのマージ
- 24. HighChart:プロットラインとプロットのクリックイベント
- 25. angular2-highchartsインポートモジュールhighcharts-more
- 26. Highcharts一般的な描画パラメータ
- 27. highcharts highchartsコンテナdivに追加
- 28. Highcharts
- 29. Highcharts
- 30. Highcharts
http://api.highcharts.com/highcharts/Axis.addPlotLine。 http://api.highcharts.com/highcharts/Axis.removePlotLine – nilsole
以下の機能を使用して私の考えを見つけてください。 – nilsole