【问题标题】:category axis on kendo chart not rendering correctly剑道图表上的类别轴未正确呈现
【发布时间】:2014-08-13 22:38:40
【问题描述】:

我有一个绑定到数据模型的剑道图表,该数据模型正在接收不同点的列表。类别轴是一个日期轴,其中最大值和最小值与模型绑定。类别轴的跨度始终为一整年(12 个月,不一定从一月开始)。 轴的代码如下:

.CategoryAxis(axis => axis
                    .Labels(labels => labels.Rotation(0).Format("MMM ‘yy"))
                    .Date().Min(Model.StartDate).Max(Model.EndDate).Justify(false)

        )

当图表中存在超过 1 个数据点时,类别轴会正确呈现,但是当我只有一个数据点时,类别轴会变得一团糟(所有标签都会堆叠和重复)。 我想知道是否有一种方法可以指定轴的强制刻度数,以便每个月始终只有 12 个刻度。 谢谢 路易斯。

【问题讨论】:

    标签: asp.net-mvc razor charts kendo-chart


    【解决方案1】:

    拥有所有刻度的唯一方法是在图表数据中附加缺失月份的空值。因此,当您获得一个数据点时,您需要在其他数据点附加空值但剩余其他月份。请看下面的示例代码:

         <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 以获取相同的信息。 这样,当您从控制器获取 JSON 数据时,您可以在控制器端更新 JSON 数据并使用空值附加缺失的数据点,或者您也可以在视图中获取数据并在绑定之前在 javascript 中执行此操作它与图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多