1

私のjsonデータは次のようになります。

[
 [1362027751000, 1362027781000, 1362027811000, 1362027841000, 1362027871000, 1362027901000, 1362027931000, 1362027961000, 1362027991000, 1362028021000 ],
[ 66, 72, 69, 72, 69, 68, 71, 73, 63, 57 ],
[ 50, 5, 67, 72, 34, 100, 10, 100, 23, 56 ] 

]

最初の行はエポック時間の日付、2 番目の行は CPU 使用率、3 番目はメモリ使用率です。時系列グラフを作成したいと思います.x軸とCPUに日付があり、y軸に異なる線のメモリデータがあります. json 外部ファイルで提供されるデータを考慮して、これをどのように達成しますか。javascript の例を見ましたが、これは実際には現実的ではありません。どんな助けでも大いに感謝します。

CPUとメモリを分割したい場所で、次のことを試みました。結果が返されません。空のページです。これはこれに対処する方法ですか、それとも 1 つのグラフに複数の変数を描画する他の方法がありますか? 私のJavaScriptは次のようになります:

<script type="text/javascript">

        $(document).ready(function() {
                var options = {
                    chart: {
                        renderTo: 'container',
                        type: 'area'
                    },
                    xAxis: {
                        type: 'datetime'

                    },
                //series: [{}]
                series: [{{
                type: 'spline',
                name: 'CPU',
                data: cpu
            }, {
                type: 'spline',
                name: 'memory',
                data: memory
            }}]

                };

            $.getJSON('data.json', function(data) {
                options.series[0].data = data;
                var cpu = [];
                var memory=[];

                for(i=0; i< data.length, i++) {
                    for(j=0; j<data[i].length; j++){
                    alert(data[i].length);
                        cpu.push([
                            data[i][j], // the date
                            data[1][j] // the cpu

                        ]);
                        memory.push([
                            data[i][j], // the date
                            data[2][j] // the volume
                        ])
                    }
                }

                var chart = new Highcharts.Chart(options);
                //alert(JSON.stringify(data, null, 4));



            });

        });
     </script>  

チャートが正しく見えません。xaxis と yaxix の両方が日付値を報告しているようです。Y軸の値を設定する方法はありますか?

4

2 に答える 2

0

私の好みは、シリーズのデータ​​を [x,y] ペアとして送信することです。したがって、データは次のようになります。

[
[1362027751000, 66], [1362027781000, 72], [1362027811000, 69], [1362027841000, 72], [1362027871000, 69], [1362027901000, 68], [1362027931000, 71], [1362027961000, 73], [1362027991000, 63], [1362028021000, 57 ]
]

と:

[
[1362027751000, 50], [1362027781000, 5], [1362027811000, 67], [1362027841000, 72], [1362027871000, 34], [1362027901000, 100], [1362027931000, 10], [1362027961000, 100], [1362027991000, 23], [1362028021000, 23]
]

これを 2 つの異なる series.data ブロックとして送信する必要があります。

于 2013-06-07T18:54:28.940 に答える
0
   for(i=0; i< data.length-2; i++) {
          for(j=0; j<data[i].length; j++){

               cpu.push([
    data[i][j], // the date
    data[1][j] // the cpu

     ]);
     memory.push([
    data[i][j], // the date
    data[2][j] // the volume
     ])
}
  }
于 2013-06-07T19:39:35.290 に答える