我有一个绑定到数据模型的剑道图表,该模型正在接收不同点的列表。类别轴是日期轴,其中最大值和最小值绑定到模型。类别轴的范围始终是一整年(12个月,不一定从1月开始)。 轴的代码如下:
.CategoryAxis(axis => axis
.Labels(labels => labels.Rotation(0).Format("MMM ‘yy"))
.Date().Min(Model.StartDate).Max(Model.EndDate).Justify(false)
)
当我在图表中存在多个数据点时,类别轴正确呈现,但是当我只有一个数据点时,类别轴变得一团糟(所有标签都堆叠并重复)。 我想知道是否有办法为轴指定一个强制性的刻度数,因为每个月只有12个刻度。 谢谢 路易斯。
答案 0 :(得分:0)
唯一拥有所有滴答声的是附加图表数据,其中包含缺失月份的空值。因此,当您有一个数据点时,您需要使用空值附加其他数据点,但保留其他月份。请参阅以下示例代码:
<div id="kk"></div>
<script>
var _data=[{"weight":200,"createddate":"1/1/2014"},
{"weight":200,"createddate":"2/1/2014"},
{"weight":200,"createddate":"3/1/2014"},
{"weight":149.91,"createddate":"4/1/2014"},
{"weight":null,"createddate":"5/1/2014"},
{"weight":null,"createddate":"6/1/2014"},
{"weight":null,"createddate":"7/1/2014"},
{"weight":null,"createddate":"8/1/2014"},
{"weight":null,"createddate":"9/1/2014"},
{"weight":null,"createddate":"10/1/2014"},
{"weight":null,"createddate":"11/1/2014"},
{"weight":null,"createddate":"12/1/2014"}]
$("#kk").kendoChart({
dataSource: {
data:_data
},
seriesColors: ["Red"],
seriesDefaults: {
type: "column",
},
series: [{
name: "weight",
field: "weight",
categoryField: "createddate",
}],
categoryAxis: {
type: "date",
baseUnit: "months"
}
});
</script>
请找一个JSFiddle。 这样,当您从Controller获取JSON数据时,您可以更新控制器端的JSON数据并使用空值附加缺失数据点,否则一旦在View中获取数据并且在绑定之前,您也可以在javascript中执行此操作它与图表。