2
自从我尝试使用这段amcharts代码以来,它已经有一段时间了。它一直工作得很好,直到一周后,但我对旧代码进行了一些更改,并没有按预期工作。这是我正在尝试的代码。由此代码生成的图表被搞砸了。Amcharts - 折线图显示不正确
var chartData1 = generateChartData();
for (var i = 0; i < chartData1.length; i++) {
alert(chartData1[i].visits + " --- " + chartData1[i].date);
}
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "none",
"pathToImages": "http://www.amcharts.com/lib/3/images/",
"dataProvider": chartData1,
"valueAxes": [{
"axisAlpha": 0.2,
"dashLength": 1,
"position": "left"
}],
"graphs": [{
"id":"g1",
"balloonText": "[[category]]<br /><b><span style='font-size:14px;'>value: [[value]]</span></b>",
"bullet": "round",
"bulletBorderAlpha": 1,
"bulletColor":"#FFFFFF",
"hideBulletsCount": 50,
"title": "red line",
"valueField": "visits",
"useLineColorForBulletBorder":true
}],
"chartScrollbar": {
"autoGridCount": true,
"graph": "g1",
"scrollbarHeight": 40
},
"chartCursor": {
"cursorPosition": "mouse"
},
"categoryField": "date",
"categoryAxis": {
"parseDates": true,
"axisColor": "#DADADA",
"dashLength": 1,
"minorGridEnabled": true,
"minPeriod": "ss"
},
"exportConfig":{
menuRight: '20px',
menuBottom: '30px',
menuItems: [{
icon: 'http://www.amcharts.com/lib/3/images/export.png',
format: 'png'
}]
}
});
chart.addListener("rendered", zoomChart);
zoomChart();
// this method is called when chart is first inited as we listen for "dataUpdated" event
function zoomChart() {
// different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues
chart.zoomToIndexes(chartData.length - 40, chartData.length - 1);
}
// generate some random data, quite different range
function generateChartData() {
var chartData1 = [];
var chartData =
[{"visits":"145","date":"1394139116"},{"visits":"195","date":"1394138636"},{"visits":"103","date":"1394137411"},{"visits":"147","date":"1394138156"},{"visits":"146","date":"1394139113"}];
for (var i = 0; i < chartData.length; i++) {
var utcSeconds = chartData[i].date;
var d = new Date(0); // The 0 there is the key, which sets the date to the epoch
d.setUTCSeconds(utcSeconds);
var login = parseInt(chartData[i].visits);
chartData1.push({
date : d,
visits : login
});
}
return chartData1;
}
我看到我将一个Value作为Integer类型和日期时间传递给date数据类型。但我不确定我要出错的地方。你能帮我解决这个问题吗?如果我错过了一些东西,请告诉我。
This是jsFiddle链接。
非常感谢您的帮助。
自从停止工作后,你有什么变化? –
我刚刚改变了chartData的构造方式(这是从服务器返回的)。这就是我在上面列出的代码中的那个。事情是我以前的JSON格式和这个之间没有变化。 –
你说它没有按预期工作。具体发生了什么? –