我有一个控制器方法,该方法返回要在kendo-mvc图表上显示的数据。我要显示的系列数由服务器端确定。我想做的是在图上显示多个序列,这是成功的,但是我无法完成的是将特定序列绑定到特定轴。 例如:我有3个序列,其值随时间变化:温度1和温度2应该绑定到显示温度值的左垂直轴上,并显示在垂直压力轴上的右上的压力序列。 我的代码下方显示了系列,但未绑定到特定轴。系列始终绑定到第一个轴。
实际上,我设法通过在视图级别使用视图模型来完成此操作,但是当使用以下示例中的数据源时,我无法完成所需的操作。如果方法Line()在类别和值旁边有轴参数,但没有,则对我来说是最合逻辑的。
@(Html.Kendo().Chart<Novolyze.VOD.WebUI.Models.SeriesValue<object, DateTime>>()
.Name("telemetryChart")
.Title("")
.Transitions(false)
.DataSource(ds => ds.Read(read => read.Action("GetTelemetryTimeSeriesJson", "Equipment", new { equipmentId = Model.EquipmentId }))
.Group(g => g.Add(v => v.Series)))
.Legend(legend => legend
.Position(ChartLegendPosition.Bottom))
.Series(series =>
{
series
.Line(value => value.Value, category => category.Category)
.Markers(false)
.Name("#:group.value#");
})
.CategoryAxis(axis => axis
.Date()
.BaseUnit(ChartAxisBaseUnit.Seconds)
.AxisCrossingValue(Model.ValueAxes.Select(x => x.AxisCrossingValue).ToArray())
.Labels(labels => labels
.Rotation("auto")
.Step(60))
.MajorGridLines(majorGridLines => majorGridLines
.Step(3600))
)
.ValueAxis(axis =>
{
foreach (var valueAxis in Model.ValueAxes)
{
axis
.Numeric(valueAxis.Name)
.Labels(labels => labels
.Format("{0}" + " " + valueAxis.Unit));
}
})
.PersistSeriesVisibility(true)
)