2017-10-18 29 views
0

進行中のプロジェクトの現在の進行状況を示すグラフを表示しようとしています。だから、基本的にプロットを開くと、合格、不合格、積み重ねられた領域でテストを実行しないというプロットが表示されます。
ハイチャート:複数のシリーズへのスタック領域のドリルダウン

私はメインデータ(合格、失敗、未実行)をドリルダウンします。私は、通過したか、失敗したか、または実行していないチームを基本的に表示したい。 「合格」をドリルダウンしたい場合、「合格」をクリックすると、チーム名と合格したテストの数量を含む複数のシリーズが表示されます。

JSfiddle: https://jsfiddle.net/9aqbLzar/3/ 

デモ:すべての

Highcharts.Tick.prototype.drillable = function() {}; 
 
Highcharts.setOptions({ 
 
    lang: { 
 
    drillUpText: '◁ Go back' 
 
    } 
 
}); 
 

 
Highcharts.chart('container', { 
 
    chart: { 
 
    type: 'area' 
 
    }, 
 
    xAxis: { 
 
    type: 'datetime', 
 
    tickmarkPlacement: 'on', 
 
    title: { 
 
     enabled: false 
 
    } 
 
    }, 
 
    yAxis: { 
 
    allowDecimals: false, 
 
    title: { 
 
     text: "Test runs" 
 
    } 
 
    }, 
 
    tooltip: { 
 
    shared: false 
 
    }, 
 
    plotOptions: { 
 
    area: { 
 
     stacking: 'normal', 
 
     lineColor: null, 
 
     lineWidth: 1, 
 
     marker: { 
 
     enabled: false, 
 
     lineWidth: 1, 
 
     lineColor: null, 
 
     symbol: 'circle', 
 
     radius: 3 
 
     } 
 
    }, 
 
    cursor: 'pointer', 
 
    trackByArea: true 
 
    }, 
 
    series: [{ 
 
     name: 'Passed', 
 
     data: [{ 
 
     x: Date.UTC(2017, 09, 06), 
 
     y: 20, 
 
     drilldown: 'Passed' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 07), 
 
     y: 21, 
 
     drilldown: 'Passed' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 08), 
 
     y: 22, 
 
     drilldown: 'Passed' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 09), 
 
     y: 23, 
 
     drilldown: 'Passed' 
 
     }] 
 
    }, 
 
    { 
 
     name: 'Failed', 
 
     data: [{ 
 
     x: Date.UTC(2017, 09, 06), 
 
     y: 6, 
 
     drilldown: 'Failed' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 07), 
 
     y: 5, 
 
     drilldown: 'Failed' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 08), 
 
     y: 4, 
 
     drilldown: 'Failed' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 09), 
 
     y: 3, 
 
     drilldown: 'Failed' 
 
     }] 
 
    }, 
 
    { 
 
     name: 'Not run', 
 
     data: [{ 
 
     x: Date.UTC(2017, 09, 06), 
 
     y: 8, 
 
     drilldown: 'Not run' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 07), 
 
     y: 7, 
 
     drilldown: 'Not run' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 08), 
 
     y: 6, 
 
     drilldown: 'Not run' 
 
     }, { 
 
     x: Date.UTC(2017, 09, 09), 
 
     y: 5, 
 
     drilldown: 'Not run' 
 
     }] 
 
    } 
 
    ], 
 
    drilldown: { 
 
    series: [{ 
 
     id: 'Passed', 
 
     data: [{ 
 
     x: Date.UTC(2017, 09, 11), 
 
     y: 1 
 
     }, { 
 
     x: Date.UTC(2017, 09, 12), 
 
     y: 2 
 
     }, { 
 
     x: Date.UTC(2017, 09, 13), 
 
     y: 3 
 
     }, { 
 
     x: Date.UTC(2017, 10, 14), 
 
     y: 5 
 
     }] 
 
    }, { 
 
     id: 'Failed', 
 
     data: [{ 
 
     x: Date.UTC(2017, 09, 09), 
 
     y: 5 
 
     }, { 
 
     x: Date.UTC(2017, 09, 10), 
 
     y: 6 
 
     }, { 
 
     x: Date.UTC(2017, 09, 11), 
 
     y: 7 
 
     }, { 
 
     x: Date.UTC(2017, 10, 12), 
 
     y: 8 
 
     }, { 
 
     x: Date.UTC(2017, 10, 13), 
 
     y: 9 
 
     }] 
 
    }, { 
 
     id: 'Not run', 
 
     data: [{ 
 
     x: Date.UTC(2017, 09, 09), 
 
     y: 5 
 
     }, { 
 
     x: Date.UTC(2017, 09, 10), 
 
     y: 6 
 
     }, { 
 
     x: Date.UTC(2017, 09, 11), 
 
     y: 7 
 
     }, { 
 
     x: Date.UTC(2017, 10, 12), 
 
     y: 8 
 
     }, { 
 
     x: Date.UTC(2017, 10, 13), 
 
     y: 9 
 
     }] 
 
    }] 
 
    } 
 
});
<script src="https://code.highcharts.com/highcharts.js"></script> 
 
<script src="https://code.highcharts.com/modules/exporting.js"></script> 
 
<script src="https://code.highcharts.com/modules/drilldown.js"></script> 
 

 
<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

+0

私は、コードスニペットオプションのスタックオーバーフローの申し出の中にあなたのコードを含めました。他のユーザーが答えに含める方が簡単になり、 'jsfiddle.net'のような外部サイトへのリンクを避けることができます。 – tgogos

+0

@tgogos - コードスニペットオプションのスタックオーバーフローオファーを使用することは問題ありませんが、 'jsfiddle'を使って操作して再生する方がずっと簡単です。 – ewolden

答えて

2

まず、あなたは「失敗のための3つの '合格' の例3(各シリーズのために複数のドリルダウンのシリーズを持っている必要があります'、' Not run 'の3つ)。第2に、複数のシリーズにドリルダウンする唯一の方法は、という関数でdrilldownイベントにイベントを追加することです。必要なシリーズが追加されたら、applyDrilldown機能を適用するだけです。下記の例をご覧ください。質問がある場合は、お気軽にお問い合わせください。

APIリファレンス:
https://api.highcharts.com/highcharts/chart.events.drilldown

例:
https://jsfiddle.net/7a6gh7vz/

+0

あなたは、素晴らしいです! – Uthman

関連する問題