【发布时间】:2015-06-03 12:48:01
【问题描述】:
我是 amCharts 的新手,正在尝试创建一个非常简单的阶梯折线图。
我有数据长时间保持不变,只记录值的变化,例如:
{
"timeOfDay": "18:20",
"value": 100
}, {
"timeOfDay": "19:40",
"value": 80
}, {
"timeOfDay": "21:40",
"value": 20
}, {
"timeOfDay": "22:40",
"value": 50
} // and so on
图表应该画一条水平线,直到下一个变化点,然后再画一次,直到下一个,依此类推,我已经设法做到了。但是,目前它只在数据点处显示气球文本,而不是光标所在的位置,如下所示:
在这里,我在 20:15 左右徘徊,尽管截图获取者没有捕捉到我的光标。气球文本显示在最近的数据点。我希望气球文本显示在我的光标处,或者显示在光标所在位置的图表上,并在光标所在位置显示时间。
我知道我可以在现有数据点之间生成新的数据点,但我宁愿不这样做,因为这将是一项相当繁重的操作,因为我希望它以一秒的精度显示时间 - 那就是每小时有数千个数据点,我相信 amCharts 有一个插值选项,用于隐藏某处的时间 - 我试图在 docs/google 上搜索这样的选项,但到目前为止还没有找到。
编辑:此处的当前图表代码:http://pastebin.com/BEZxgtCb
更新:设法使用以下函数提取时间并将事件侦听器附加到 chartCursor 对象 - 但仍然无法让它显示在图表上的预定义点之外的任何其他地方。
var parseDate = function(dateObj) {
return dateObj.getHours() + ":" + dateObj.getMinutes() + ":" + dateObj.getSeconds();
}
var handleMove = function(event) {
var time = event.chart.categoryAxis.coordinateToDate(event.x);
event.chart.graphs[0].balloonText = parseDate(time);
}
【问题讨论】:
-
自您提出问题后,您是否知道
amcharts4 已添加该功能?
标签: javascript amcharts