嗨,我是一個真正的JavaScript新手。我試圖將信息繪製到一張AMchart上,但是遇到了困難。 當我從軸突查詢中獲取數據時,該圖如下工作。AMchart繪製陣列的時間序列數據
var table = amberPoint.curVal.toObj();
顯示如下。
這一步是我在遇到困難的人。我按如下方式將兩個對象數據集提取到兩個數組中。
i=0;
table.forEach(function(row)
{
var newVal;
newVal = row.v0;
foo[i] = [newVal];
i++;
});
j=0;
table.forEach(function(row)
{
var time;
time = row.ts;
foo2[j] = [time];
j++;
});
現在我有兩個與原始對象具有相同數據的數組。
我想將這兩個數組轉換回AMchart可讀的對象。我這樣做如下。
var chartData = [];
for(k = 0; k < foo.length-10; k++) {
chartData.push({
"x": foo2[ k ],
"y": foo[ k ]
});
}
不幸的是,圖表似乎沒有正確解釋日期「foo2」的數據。我得到以下結果。
我想,我需要做一些事來了「foo2的」數據,以便AMchart承認,這是一個時間序列。這是我的圖表代碼。
var chart = AmCharts.makeChart(this.view, {
"type": "serial",
"theme": "light",
"mouseWheelZoomEnabled":true,
"marginTop":0,
"marginRight": 80,
"dataProvider":chartData,
"valueAxes": [{
"axisAlpha": 0,
"position": "left",
"title" : ""
}],
"graphs": [{
"id":"g1",
"balloonText": "[[category]]<br><b><span style='font-size:14px;'>[[value]]</span></b>",
//"bullet": "round",
"bulletSize": 8,
"lineColor": "#d6ac15",
"lineThickness": 2,
"negativeLineColor": "#637bb6",
"type": "line",
"valueField": "y"
}],
"chartScrollbar": {
"graph":"g1",
"gridAlpha":0,
"color":"#888888",
"scrollbarHeight":55,
"backgroundAlpha":0,
"selectedBackgroundAlpha":0.1,
"selectedBackgroundColor":"#888888",
"graphFillAlpha":0,
"autoGridCount":true,
"selectedGraphFillAlpha":0,
"graphLineAlpha":0.2,
"graphLineColor":"#c2c2c2",
"selectedGraphLineColor":"#888888",
"selectedGraphLineAlpha":1
},
"chartCursor": {
"categoryBalloonDateFormat": "hh",
"cursorAlpha": 0,
"valueLineEnabled":true,
"valueLineBalloonEnabled":true,
"valueLineAlpha":0.5,
"fullWidth":true
},
"dataDateFormat": "YYYY/MM/DD JJ:NN:SS",
// "dataDateFormat": "YYYY",
"categoryField": "x",
"categoryAxis": {
"minPeriod": "hh",
"parseDates": true,
"minorGridAlpha": 0.1,
"title":"DATE",
"minorGridEnabled": true
},
"export": {
"enabled": true
}
});
chart.addListener("rendered", zoomChart);
if(chart.zoomChart){
chart.zoomChart();
}
function zoomChart(){
chart.zoomToIndexes(Math.round(chart.dataProvider.length * 0.4), Math.round(chart.dataProvider.length * 0.55));
}
請幫忙。
你可以顯示一個'foo2'值是怎麼樣的? – Darlesson
foo2的值看起來像下面 – Amekp
2017年8月17日@ 5:30上午 – Amekp