如何将系列绑定到kendoUI-mvc图表中的特定轴?

时间:2019-06-12 12:58:15

标签: kendo-ui kendo-ui-mvc

我有一个控制器方法,该方法返回要在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)
            )

0 个答案:

没有答案