一部のデータをプロットしようとして flot を使用しています。これを単一のデータセットで動作させましたが、複数のデータセットを使用するようにコードを変更しようとしたときに、追跡に苦労しているというエラーが発生し、動作が停止しました。それは私が行った変化だと確信していますが、私の人生ではそれを追跡することはできません.
Y 軸は、-1.0、-0.5、0、0.5、および 1.0 を示します。予想される値はほとんどなく、X 軸のデータはありません。グラフが空白になります。
StackOverflow のレピュテーション グラフに似たものを達成しようとしていますが、これは異なる数値を表します。ペアの最初の値はdata
タイムスタンプ (正しく計算されていると思います) であり、data
ペアの 2 番目の値はプロットされる値です。
私は自分の価値観を引用符で囲んでいないことを確認しました。これは、最も一般的な問題の 1 つであることがわかりました。
問題を指摘する際のフィードバックや支援をいただければ幸いです。
統計.js
function plotField(){
var field = 'activeUsers,totalUsers';
var url = '/api/consoleGet_stats?field='+field;
$.ajax({
url: url,
method: 'GET',
dataType: 'json',
success: function(datasets){
var i = 0;
console.log(datasets);
$.each(datasets, function(key, val){
val.color=i;
i++;
var data = [ $(this) ];
console.log(data);
var options = {
lines: { show: true },
points: { show: true },
xaxis: {mode: 'time', timeformat: "%y/%m/%d", tickDecimals: 0, tickSize: 1 }
};
var placeholder = $("#placeholder");
$.plot(placeholder, data, options);
});
}
});
}
consoleGet_stats.php
<?php
//simplified for example purposes
$fields=explode(",",$_REQUEST['field']);
foreach ($fields as $field){
$rows=$dbConnect->getRows('select date, ' .$field. ' from websiteStats order by id asc');
$resultData = array('label' => $field);
foreach($rows as $row){
$t = strtotime($row['date']." UTC") * 1000;
$resultData['data'][]=array($t, (int)$row[$field]);
}
$results[]=$resultData;
}
die(Json_encode($results));
?>
コンソール出力
[Object { label="activeUsers", data=[6]}, Object { label="totalUsers", data=[6]}]
[[Object { label="activeUsers", data=[6], color=0}]]
[[Object { label="totalUsers", data=[6], color=1}]]
firebug から返された json (この投稿用にフォーマットが追加されました)
[
{"label":"activeUsers","data":[[1334583090000,26],[1334669491000,26],[1334755893000,26],[1334842290000,26],[1334928691000,26],[1335015093000,26]]},
{"label":"totalUsers","data":[[1334583090000,150],[1334669491000,170],[1334755893000,193],[1334842290000,200],[1334928691000,225],[1335015093000,257]]}
]