我有一个剑道图表,随着时间的推移有几个数据点。默认比例设置为月。在悬停这些点中的每一个时,工具提示会显示每个点的值。我在系列点击上定制了一个事件,在该事件中我检测到当前点击的月份并更新 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 来说明我的问题。只需单击任何数据点,然后将光标移动到图表区域内,您就会看到问题。