1

jQuery グラフ作成プラグイン Flot を使用して積み上げ棒グラフを作成しようとしています。

[{"label":"Uncategorized","data":[[1309374000000,"3448876"],[1309377600000,"3352757"]...

ここで起こっていることと同じ問題のようですが、回答は投稿されていません。 http://groups.google.com/group/flot-graphs/browse_thread/thread/c6445ff7dce59ea0/e996979c40bc3f6b?show_docid=e996979c40bc3f6b

このエラーを見た人、またはどこを見ればよいか知っている人はいますか?

スタッキングの最も基本的な例を過ぎたものには、深刻な問題があるようです。

私は何の運もなくシリーズを逆転させようとしました。すべてのデータは日付でソートされ、日付はシリーズ間で対応しています。

http://rpbailey.net/flotError.PNG

編集: 私の flot オプション... 2 つのグラフが作成され、2 番目 (下) のグラフが表示されます。

                //get the date format
                strTimeFormat = "%y/%m/%d";
                if(strOb == 'Hour'){ strTimeFormat = "%y/%m/%d %H"; arrMinTick = [1, 'hour']; intBar = 1000000}
                if(strOb == 'Day'){ strTimeFormat = "%y/%m/%d"; arrMinTick = [1, 'day']; intBar =100000000}
                if(strOb == 'Month' | strOb == 'Quarter'){ strTimeFormat = "%y/%m"; arrMinTick = [1, 'month'];intBar = 3000000000}

                objOptions = {
                    colors:[ '#dddddd','#00ff00','#ffff00','#ff0000']
                    ,series:{points:{show:true},lines:{show:true},stack:0}
                    ,xaxis: { mode: "time", timeformat: strTimeFormat, minTickSize: arrMinTick }
                }           

                objOptions2 = {
                    series:{bars:{show:true, barWidth: intBar}, stack:-1000000}
                    ,xaxis: { mode: "time", timeformat: strTimeFormat }
                }   

                if(mode == 'percentage'){
                    objYaxes = {    yaxis:{
                         alignTicksWithAxis: 1
                        ,position: 'right'
                        ,tickFormatter: function(label, series){ return label +"%"; }
                    }};
                    //add on th yaxes options.
                    objOptions = jQuery.extend(objOptions, objYaxes);
                    objOptions2 = jQuery.extend(objOptions2, objYaxes);
                    console.log(objOptions);
                }

                 //top chart    
                jQuery.getJSON('includes/webRepFunctions.php', {chart:'risk',start:strStart,stop:strStop,ob:strOb,metric:mode}, function(data) {
                        jQuery.plot(jQuery("#flot1"),data,objOptions);                      
                    });

                 //bottom chart 
                jQuery.getJSON('includes/webRepFunctions.php', {chart:'cat',start:strStart,stop:strStop,ob:strOb,metric:mode}, function(data) {
                        jQuery.plot(jQuery("#flot2"),data,objOptions2);                     
                    });

                }

編集 2: いくつかのサンプル データ...

[{"label":"Uncategorized","data":[[1309374000000,"3448876"],[1309377600000,"3352757"],[1309381200000,"2897092"],[1309384800000,"2747047"],[1309388400000,"2693610"],[1309392000000,"2511211"],......[1310097600000,"1404290"]],"yaxis":1},{"label":"Categorized","data":[[1309374000000,"1371941"],[1309377600000,"1273494"],[1309381200000,"1505119"],[1309384800000,"1463382"],[1309388400000,"1316429"],[1309392000000,"1201810"],......[1310097600000,"611780"]],"yaxis":1}]

4

2 に答える 2

1

私は同じ問題を抱えていましたが、jquery.flot.stack.js と jquery.flot.stack.min.js の両方を参照していました。

min js refを削除すると、空白のギャップの問題はなくなりました...

于 2011-10-08T20:06:29.323 に答える
1

両方の系列に同じ量のデータ ポイントがありますか? いくらかのデータを残しているので、これからはわかりません。[x,y]面倒な質問のように思えますが、これらのグラフは、各シリーズのペアの数が同じでない場合、奇妙な動作をします。未定義の場合はnull、代わりに を使用し[x,y]ます。非常に壊れたプラグイン以外に問題がある可能性があることを考えています。以前に同様に何かをプロットし、いくつかの問題があったためですが、そのコードにはもうアクセスできません。

objOptions2 = jQuery.extend(objOptions2, objYaxes); コードから削除してみてください。繰り返しますが、このプラグインは最高のものではなく、Flot のいくつかのプロパティに問題があります。

barWidth: intBarからも削除してみてくださいobjOptions2

それらを個別に削除してみてください。

それ以上に、関連するものを除いて、他の HTML/CSS/Javascript を使用せずに、問題のグラフをページに単独で配置してみてください。

于 2011-07-08T18:27:07.830 に答える