2

Flot Graph Apiを使用してグラフをプロットしています。棒グラフに時間値をプロットしたいと考えています。

私のテーブルはこれに似たもののように見えます

ここに画像の説明を入力

私のX軸は理由のリストであり、Y軸は時間変数でなければなりません。私のグラフはこのようなものでなければなりません。

ここに画像の説明を入力

しかし、Jsonオブジェクトが間違ってパックされているため、このようなものが得られます.

ここに画像の説明を入力

時間値のグラフをプロットする方法

私のプロットJSコードは

    <script language="javascript" type="text/javascript">  
$(document).ready(function(){
$.getJSON('ReasonByTime.txt', function(json) {
   //succes - data loaded, now use plot:
       var plotarea = $("#placeholder");
       var dataBar=json.data;
        $.plot(plotarea , [
            {
                data: dataBar,
                bars: { show: true},
                legend: {show: true},
                yaxis: {
                    mode: 'time',
                    timeformat: "%y/%m/%d",
                        min: ( new Date('2012/01/01') ).getTime(),
                        max: ( new Date('2020/01/01') ).getTime(), 
                        minTickSize: [1, 'hour']
                }
            }          
        ]
    );
});

});

私の現在のJsonオブジェクトはこのようなものです。

  {"data":[[0,5202],[0,19620],[0,82920],[0,240],[0,75720],[0,3060],[0,72840]],"label":"Tea break"}

私はflotを初めて使用するので、この作業に夢中になり、いくつかの調査を行いましたが、問題を解決できません。誰か助けてくれませんか。

4

2 に答える 2

2

問題はJSONにあるのではなく、データ自体にあります。x軸の値はすべてゼロであるため、Flotはすべてのバーを互いに正しくプロットしています。

于 2012-11-21T15:06:47.200 に答える
0

DNS のおかげで、x 軸の値がすべてゼロになるという問題が発生したため、JSON を次の形式に変更しました。

  [{"data":[[0,5202]],"label":"Over Time"},{"data":[[1,19620]],"label":"Shift Start"},{"data":[[2,82920]],"label":"Maintenance break"},{"data":[[3,240]],"label":"Lunch break"},{"data":[[4,75720]],"label":"BreakDown"},{"data":[[5,3060]],"label":"Break"},{"data":[[6,72840]],"label":"Tea break"},{"data":[[6,79260]],"label":"Power Failure"}]

今、私はこのようなグラフを取得します

ここに画像の説明を入力

于 2012-11-21T15:46:58.837 に答える