剑道图表图例:左边的标签,右边的颜色

Posted

技术标签:

【中文标题】剑道图表图例:左边的标签,右边的颜色【英文标题】:kendo chart legend : label at left, color at right 【发布时间】:2016-02-26 15:53:10 【问题描述】:

我的 js 代码中有剑道图表。 默认情况下,图例区域布局是,有颜色列表,并且每种颜色的右侧 - 都有带有系列名称的标签。我想颠倒顺序:先放标签,再放颜色,然后向右对齐。

我认为最好的方法是通过 legend.item,但我不知道该怎么做。

查看当前状态:

这是我想要的演示:

【问题讨论】:

我看不到图片,有人知道为什么吗? 在 JSFiddle 中显示你的问题 正如我在我的问题中所写的那样,没有问题 - 所有工作都已修复。我只想改变能见度,看图,真的很简单…… 【参考方案1】:

您可以使用剑道图例方法创建自定义图例视觉效果。

legend: 
    item: 
      visual: function (e) 

        // get the default color for the legend shape
        var color = e.options.markers.background;

        // get the default color for the legend text
        var labelColor = e.options.labels.color;

        // bounds of the legend
        var rect = new kendo.geometry.Rect([0, 0], [100, 50]);
        var layout = new kendo.drawing.Layout(rect, 
          spacing: 5,
          alignItems: "center"
        );

        // Recreate the legend shape (can be any shape)
        var marker = new kendo.drawing.Path(
          fill: 
            color: color
          
        ).moveTo(10, 0).lineTo(15, 10).lineTo(5, 10).close();

        // recreate the label text
        var label = new kendo.drawing.Text(e.series.name, [0, 0], 
          fill: 
            color: labelColor
          
        );

        // This is the key part: it draws the label first then the shape
        layout.append(label, marker);
        layout.reflow()

        return layout;
      
    

这段代码的重要部分是这部分:

 layout.append(label, marker);

因为我们先指定标签,然后是标记,所以标签应该首先出现。

我没有为此设置 jsFiddle,但 Kendo 在他们的道场中有一个示例:http://dojo.telerik.com/OdiNi

【讨论】:

【参考方案2】:

在这种情况下,您将隐藏图例。

legend: 
    visible: false
, 

并在 html 中创建您自己的图例。

【讨论】:

以上是关于剑道图表图例:左边的标签,右边的颜色的主要内容,如果未能解决你的问题,请参考以下文章

剑道角图图例颜色

使用相同的标签和颜色为不同的图形手动斜体和着色图例

07版EXCEL中的图表如何增加图例

饼图图例颜色未更新 mpandroidchart

如何添加多种颜色的剑道UI图表

在图表中显示分组数据(不同颜色)的图例