(はい、この問題に対する適切な「質問」が見つかりませんでした)
こんにちは、何時間も探していますが、どこにも答えが見つかりません。Google ビジュアライゼーションのタイムラインと pingdom API を使用して、Google チャートで独自の稼働時間と停止時間のグラフを作成したいと考えています。
問題は主に JavaScript 部分にあり、php 部分は pingdom API 用です。私はAPI からSummary.outageを使用しています。Webページでわかるように、JSON 文字列が返されます。そして、それは私が働かなければならないものです。
私が持っている現在のjavascriptは次のとおりです。
google.load("visualization", "1.1", {packages:["timeline"]});
google.setOnLoadCallback(drawChart);
function drawChart()
{
var json = <?php echo $list; ?>, options, data;
data = new google.visualization.DataTable();
data.addColumn("string","State");
data.addColumn("date","Start");
data.addColumn("date","End");
for (var i = 0; i < json.length; i++) {
data.addRow([json[i].status, new Date(json[i].timefrom * 1000), new Date(json[i].timeto * 1000)]);
};
options = {
height: 500,
timeline: { groupByRowLabel: false }
};
var chart = new google.visualization.Timeline(document.getElementById('graph'));
chart.draw(data, options);
}
そして、出力が得られます: http://puu.sh/hJk2f.png
しかし、ええ、私はそれを次のように変更したい:
data.addColumn("date","Date");
data.addColumn("date","Start");
data.addColumn("date","End");
これがどこに向かっているのかわかりますか?実際の日付の「アップ」と「ダウン」ではなく、
ここからインデックス0を変更する必要があります
data.addRow([/*what to put here*/, new Date(json[i].timefrom * 1000), new Date(json[i].timeto * 1000)]);
しかし、方法がわかりません。そして、あなたが常識を考えるなら、それは時間の棒グラフのようなものです-また、最小制限は一日の始まり(00:00)のようで、最大制限も一日の終わり(23:59)であるべきです
したがって、過去 5 日間の稼働時間と停止時間の適切な概要が得られます。より明確にするために、この画像を確認してください。基本的には同じですが、下部のプロセントの代わりに、時間 + 棒グラフの代わりにタイムライン グラフが必要です。