[英]Time Graph in Flot issue?
我試圖用flot(每天)或可能每隔一天繪制一個月的圖表,勾選一下。
為了得到我的時間價值,我這樣做:
$date = strtotime($rowData[0]); // 2013-01-01
$myData = json_encode(array($date*1000, 1234));
// I Then echo it out as an array into the javascript var.
出於某種原因,我可以改變這一行: minTickSize: [1, day]
到2(我認為每隔一個標簽標記)並且什么都不會改變。 此外,時間值也沒有顯示出來? 我究竟做錯了什么?
這是一個JSFIDDLE
這是每兩天更新一次......有渲染問題嗎? 另外,為什么10月10日是唯一顯示的日期? : JSFIDDLE更新
這就是我所擁有的javascript:
var myData = [[1380603600000,0],[1380690000000,0],[1380776400000,0],[1380862800000,0],[1380949200000,0],[1381035600000,0],[1381122000000,0],[1381208400000,0],[1381294800000,0],[1381381200000,0],[1381467600000,0],[1381554000000,0],[1381640400000,1],[1381726800000,0],[1381813200000,0],[1381899600000,0],[1381986000000,0],[1382072400000,0],[1382158800000,0],[1382245200000,0],[1382331600000,0],[1382418000000,0],[1382504400000,0],[1382590800000,0],[1382677200000,0],[1382763600000,0],[1382850000000,0],[1382936400000,0],[1383022800000,0],[1383109200000,0],[1383195600000,0]];
var plot = $.plot($(".subsChart"),
[ { data: myData, label: "myData"} ], {
series: {
lines: { show: true,
lineWidth: 2,
fill: true, fillColor: { colors: [ { opacity: 0.5 }, { opacity: 0.2 } ] }
},
points: { show: true,
lineWidth: 2
},
grow: { active: true,
steps: 30
},
shadowSize: 0
},
grid: { hoverable: true,
clickable: true,
tickColor: "#DDD",
borderWidth: 1,
borderColor: "#DDD"
},
colors: ["#FF0000"],
xaxis: {mode: "time", timeformat: "%b %m", ticks: myData, minTickSize: [5, "day"]},
yaxis: {ticks:3, tickDecimals: 0},
tooltip: true,
});
UPDATE
當我刪除
ticks: myData
選項時,標簽會顯示,但所有標簽都在同一天? 此外,沒有一點甚至落在日期上。
正如@Smokie建議的那樣,您需要刪除ticks選項。 當您提供刻度時,Flot會跳過它通常會執行的任何刻度生成,並使用您提供的內容,在這種情況下無效。
一旦你這樣做,你會注意到你有標簽,但它們都顯示10月10日。那是因為你的日期格式是%b(短月名)%m(月號)。 我猜你真正想要的是%b%d。
請注意,您可能不會每天都打勾,因為根據您的窗口大小,它們並不適合。 這就是為什么minTickSize是最小值而不是精確值; Flot將確保至少一天(或您指定的許多天數)分隔刻度線,但可以選擇將它們進一步展開以確保它們都適合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.