问题
This is my code:
var holder = $('#line-chart');
if (holder.length) {
$.plot(holder, [
{ data: data[0].data, lines: { show: true }, label:"Service Level" },
{ data: data[1].data, bars: { show: true }, yaxis: 2, label:"# Of Calls" } // set second series to use second axis
], {
yaxes: [{
min: 0, // options for first axis
tickFormatter: function (val, axis) {
return val + '%';
}
}, {
alignTicksWithAxis: 1, // options for second axis, put it on right
position: "right"
}],
xaxis: {
min: minVal.getTime(),
max: maxVal.getTime(),
mode: "time",
timeformat: timeFormat,
//twelveHourClock: true,
tickSize: [tickVal, modeChart],
//monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
tickLength: 0
},
grid: {
hoverable: true,
clickable: false,
borderWidth: 0
},
});
}
This is the result:
Please notice that the Service Level
line (the orange one) is goes from Aug
to the top left. could you help me here please?
I got the data from this operation
var data = $.map(result, function (arr, key) {
return { label: key, data: arr };
});
where results
comes from json request, and to print you the result
I did this
var s = JSON.stringify(result);
console.log(s)
and this is what the console shows
{"ServiceLevel":[[1390608000000,50],[1392595200000,0],[1393286400000,66.66666666666667],[1393891200000,50],[1394064000000,0],[1394236800000,50],[1394323200000,0],[1394841600000,50],[1394928000000,33.333333],[1395014400000,0],[1395100800000,50],[1395273600000,0],[1395446400000,0],[1395619200000,0],[1395705600000,0],[1395878400000,50],[1396310400000,50],[1396483200000,0],[1396656000000,0],[1396828800000,50],[1396915200000,50],[1397001600000,50],[1397347200000,33.333333],[1397433600000,50],[1397952000000,0],[1398124800000,50],[1398556800000,0],[1398902400000,45],[1399075200000,0],[1399161600000,0],[1399334400000,0],[1399420800000,50],[1399680000000,0],[1399852800000,50],[1399939200000,0],[1400025600000,0],[1400112000000,33.333333],[1400284800000,40],[1400371200000,0],[1400457600000,50],[1400716800000,40],[1402185600000,50],[1402358400000,50],[1402531200000,0],[1402704000000,44.117647],[1402876800000,50],[1403308800000,50],[1403481600000,50],[1403913600000,0],[1407283200000,0],[1390780800000,100],[1391040000000,100],[1391558400000,100],[1392249600000,100],[1392681600000,75],[1392854400000,100],[1396137600000,100],[1397260800000,100],[1399507200000,100],[1400889600000,88.888888],[1401840000000,100],[1403654400000,100],[1407369600000,70.83333300000001],[1407628800000,100]],"NumberOfCalls":[[1390608000000,50],[1392595200000,2],[1393286400000,14],[1393891200000,7],[1394064000000,1],[1394236800000,36],[1394323200000,3],[1394841600000,10],[1394928000000,11],[1395014400000,2],[1395100800000,45],[1395273600000,24],[1395446400000,13],[1395619200000,11],[1395705600000,11],[1395878400000,3],[1396310400000,18],[1396483200000,44],[1396656000000,2],[1396828800000,4],[1396915200000,25],[1397001600000,3],[1397347200000,11],[1397433600000,10],[1397952000000,15],[1398124800000,18],[1398556800000,1],[1398902400000,13],[1399075200000,2],[1399161600000,2],[1399334400000,1],[1399420800000,16],[1399680000000,3],[1399852800000,19],[1399939200000,32],[1400025600000,1],[1400112000000,20],[1400284800000,6],[1400371200000,3],[1400457600000,9],[1400716800000,12],[1402185600000,21],[1402358400000,14],[1402531200000,4],[1402704000000,37],[1402876800000,13],[1403308800000,18],[1403481600000,2],[1403913600000,1],[1407283200000,2],[1390780800000,2],[1391040000000,6],[1391558400000,6],[1392249600000,5],[1392681600000,6],[1392854400000,1],[1396137600000,2],[1397260800000,2],[1399507200000,1],[1400889600000,18],[1401840000000,6],[1403654400000,3],[1407369600000,16],[1407628800000,1]]}
回答1:
The line goes back to top-left because that is what your data does.
Your first service level is [1390608000000,50]. Subsequent service levels have the first number (the x coordinate) increasing .... Until it comes to :
[1407283200000,0],[1390780800000,100],[1391040000000,100], ....
See - the x coordinate has switched back to (pretty much) the same as the start, but the y coordinate is 100%.
So no problem with your code - it's the data.
来源:https://stackoverflow.com/questions/25362640/flot-why-the-line-goes-back-to-the-top-left