我正在使用具有日期 x 轴的剑道图表。对于不同的日期,我有几个点,但 x 轴仅显示每月视图。我设置了一个自定义聚合函数来显示每个月对应的 LAST 数据点,即
数据点是:
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];
}
我希望你能帮助我。问候,路易斯。