我想使用amCharts显示堆积区域图表,其他任何工作都可以,但是日期不正确解析。
"dataProvider": [{
"date": 1482192000,
"cars": 1587,
"motorcycles": 650,
"bicycles": 121
}
上述数据包中名为 date 的属性无法转换为“DD / MM / YYYY”等可读日期
最后,图表必须显示所选月份的30天
这是我的 CodePen :
CodePen Stacked Area Chart
答案 0 :(得分:1)
您的数据和设置都不正确。这是一个错误列表以及如何修复它们
1)dataDateFormat
用于解析字符串日期,而不是格式化它们。由于您使用的是unix时间戳,因此根本不需要此属性,因此您可以将其删除。
2)你的unix时间戳也必须以毫秒为单位才能生效。秒数会给你无效的时间。
3)您的数据必须按升序排序,才能正确呈现。您的数据目前处于混合状态。
至于你的其他问题:
要设置日期格式,您必须将categoryAxis中的dateFormats
array设置为所需的格式字符串described here。对于DD / MM / YYYY:
"categoryAxis": {
// other properties omitted:
"dateFormats": [{period:'fff',format:'JJ:NN:SS'},
{period:'ss',format:'JJ:NN:SS'},
{period:'mm',format:'JJ:NN'},
{period:'hh',format:'JJ:NN'},
{period:'DD',format:'DD/MM/YYYY'}, //you may need to change the entries for 'WW' and 'MM' as well, depending on the amount of visible data
{period:'WW',format:'MMM DD'},
{period:'MM',format:'MMM'},
{period:'YYYY',format:'YYYY'}]
// ...
}
要自动缩放图表加载,您可以添加类似于AmCharts网站上演示的rendered
事件,并调用任何缩放方法,例如:
"listeners": [{
"event": "rendered",
"method": function(e) {
// different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues
e.chart.zoomToDates(new Date(2017, 1, 1), new Date(2017, 1, 15));
}
}]
这是一个更新的codepen,其中包含上述所有修复程序here。