この浮動小数点棒グラフを正しく表示するのに少し問題があり、浮動小数点のドキュメントはこれまでのところ役に立ちませんでした。最初にコンテキストを提供し、次に私の問題が何であるかを説明します。
以下は、データを提供する php スクリプトです (重要なコード行のみを提供しました)。
$sql = "select unix_timestamp(date(Date_Found))*1000 as day, count(Virus_Name) as nb from machine_virus_info where Virus_name!='NULL' group by unix_timestamp(date(Date_Found))*1000;"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $array[] = array ($row['day'], $row['nb']); #when echoed the array data looks like this using just date date(): #[["20130226000","2"],["20130227000","1"]] } echo json_encode( $array );
以下は私のhtmlのJSです:
<script id="virus_scan" language="javascript" type="text/javascript">
$(function()
{
var options = {
series:
{
lines: { show: false },
points: { show: false },
bars:
{
show: true,
lineWidth: 1,
fill: 1,
fillColor: null,
align: "left",
barWidth: 24 * 60 * 60 * 1000,
horizontal: false
}
},
xaxis: { mode: "time" ,timeformat: "%y/%m/%d" },
legend: { position:"nw" }
};
$.getJSON("php_scripts/virus_scan.php",
function(data)
{
$.plot($("#virus_scan"),data,options);
}
);
}
);
</script>
- 上記の情報を考えると、これは unix_timestamp(date()) を使用して取得した棒グラフです。
注: unix_timestamp(date(date)) を使用しているときに json_encode($array) をエコーすると、配列は次のように出力されます。
[["1361833200000","2"],["1361919600000","1"]]
- これは、unix_timestamp(date()) の代わりに date() のみを使用したときに得られる棒グラフです。
注: date(date) のみを使用して json_encode($array) をエコーすると、配列は次のように出力されます。
[["20130226000","2"],["20130227000","1"]]
アイデア:
- X軸に日付を正しく表示したい
Y軸にnbの最大値を表示したい
以下の例:
- この棒グラフのコードに基づいてコードを作成しましたが、明らかに結果は同じではありません。
問題がphpがデータを操作する方法に起因するのか、それとも棒グラフの構成に起因するのかがわからないため、問題をよりよく理解し、特定するのに役立つ可能性のある何かについて誰かが光を共有できれば.
ありがとう、スマック