1

我有一个剑道图表,随着时间的推移有几个数据点。默认比例设置为月。在悬停这些点中的每一个时,工具提示会显示每个点的值。我在系列点击上定制了一个事件,在该事件中我检测到当前点击的月份并更新 x 轴以显示所选月份的信息。事件代码如下:

function onSeriesClick(e) {
    var selectedDate = e.category;
    var categoryAxis = $('#chart').data('kendoChart').options.categoryAxis;
    var startDate = categoryAxis.min;
    var endDate = categoryAxis.max;

    categoryAxis.min = new Date(selectedDate.getFullYear(), selectedDate.getMonth());
    categoryAxis.max = new Date(selectedDate.getFullYear(), selectedDate.getMonth() + 1);                
    categoryAxis.baseUnit = "days";
    categoryAxis.labels.rotation = -90;

    $('#chart').data('kendoChart').refresh();        
}

如您所见,上述函数只是获取所选点的日期并更新类别轴以仅显示一个月跨度。然后刷新图表以显示此更改。

由于范围变化,一些数据点从图表中消失,这是预期的行为。然而,即使这些点已经从图表中消失了,将光标移动到其他点曾经所在的图表上,导致它们的工具提示仍然显示。我必须单击图表上的某处或将光标完全移离图表区域,以使不再存在的点的工具提示消失。

我的问题是,当图表的范围被刷新时,我可以做些什么来“刷新”工具提示?我在想类似的东西

$('#chart').data('kendoChart').options.tooltip.refresh(); 

但是这种方法是不存在的。我能做些什么?问候!

编辑:我提供了一个 jsfiddle 来说明我的问题。只需单击任何数据点,然后将光标移动到图表区域内,您就会看到问题。

http://jsfiddle.net/pagasnc1/

4

0 回答 0