在剑道图的工具提示上添加聚合函数
Add aggregate function on tooltip in kendo chart
我正在使用一个有日期x轴的剑道图。我有几个不同日期的点,但x轴只显示每月视图。我设置了一个自定义聚合函数来显示每个月对应的最后一个数据点,即
数据点为:
2014年1月1日-1500美元2014年1月3日-2000美元2014年1月10日-75美元
图中所示为2014年1月-75美元
当我将鼠标悬停在这些点上时,我想显示一个自定义工具提示,其中包含与这些点相关的一些自定义值。工具提示中显示的值是由我的业务逻辑生成的,我认为在这里讨论它并不重要。比方说,对于上面提到的值,我想显示的工具提示是:
2014年1月1日-100美元2014年1月3日-200美元2014年1月10日-$300
但是,当我将鼠标悬停在当前月份的聚合点上时,我希望工具提示显示值"C"(因为我以前的聚合函数)。然而,显示的值是:
2014年1月-100美元
我的问题是,有没有办法为我的剑道工具提示指定一个自定义聚合函数?
图表的代码是:
public class MyModel{
public DateTime Date {get; set;}
public double ShownValue {get; set;}
public double ToolTipValue {get; set;}
}
@(Html.Kendo().Chart(List<MyModel>)
.Name("myChart")
.DataSource(dataSource => dataSource
.Sort(s => s.Add(fc => fc.Date))
)
.SeriesDefaults(seriesDefaults =>
seriesDefaults.Line().Style(ChartLineStyle.Smooth)
)
.Series(series =>
{
series.Line(value => value.ShownValue, category => category.Date)
.Aggregate("selectLastPoint");
})
.CategoryAxis(axis => axis
.Labels(labels => labels.Rotation(0).Format("MMM 'yy"))
.Date()
.BaseUnit(ChartAxisBaseUnit.Months)
.Justify(false)
)
.ValueAxis(axis => axis.Numeric()
.Labels(labels => labels.Format("{0:c}"))
)
.Tooltip(t => t
.Visible(true)
.Format("{0:c}")
.Template("#= kendo.format('{0:C}',dataItem.TooltipValue) #")
))
我的聚合函数的代码是:
function selectLastPoint(values) {
return values[values.length - 1];
}
我希望你能帮助我。问候,路易斯。
没关系,我刚刚找到了答案。在聚合函数上,我只返回当前点的值。我应该返回整个数据项如下:
function selectLastPoint(values, series, dataItems) {
return dataItems[dataItems.length - 1];
}
相关文章:
- 如何添加函数中存在的所有参数
- 为新对象添加函数,将对象添加到数组中.理解困难'这'关键字
- 使用元素选择器向Object添加函数
- Javascript 向影子根中的自定义元素添加函数
- 如何在jQuery中添加函数作为自定义事件
- 仅向某个对象添加函数
- jQuery插件返回this.each并为每个对象添加函数属性
- 我可以用Javascript向数组添加函数吗
- HTMLJavascript-如何向输入语句添加函数并隐藏输入语句,除非选中“是”,然后取消隐藏
- jquery在html属性中添加函数回调,以便在其他事件中调用
- 如何向对象添加函数并引用其成员
- 动态添加函数参数
- PHP 添加函数
- 向原型添加函数
- Java 在不使用引号的情况下向 json 对象添加函数
- jQuery向动画队列添加函数
- 向对象原型添加函数的正确方法
- 在 Typescript 中添加函数之前,如何将变量声明为空对象
- 向对象原型添加函数会导致函数显示在所有“OBJ 中的 X”循环中
- 删除并重新添加函数 JavaScript