【问题标题】:Telerik KendoUI Angular line chart not reflecting dashType in legendTelerik Kendo UI Angular折线图不反映图例中的破折号类型
【发布时间】:2019-02-22 18:51:43
【问题描述】:

我有一个图表,其中我正在为不同系列设置 dashType 属性,但图例并未反映设置,而是将所有内容显示为实线。你如何让图例反映这种设置?我正在使用带有最新版本的图表组件的 Angular 7。任何帮助表示赞赏。

【问题讨论】:

    标签: kendo-ui kendo-ui-angular2


    【解决方案1】:

    开箱即用不支持此行为,但可以添加。 您可以在 Telerik 的论坛here 上查看有关它的问题和回复。

    建议的解决方案是使用kendo-chart-legend 组件的[item] 属性。


    请参阅以下示例用法:

    将它放在`Kendo Chart 组件内的组件模板中:

    <kendo-chart-legend position="bottom" orientation="horizontal" [item]="{ visual: legendItemVisual }">
    </kendo-chart-legend>
    

    把它放在你的组件代码中:

    public legendItemVisual = (args: any) => {
        const path = new Path({ stroke: { color: args.series.color, dashType: args.series.dashType, width: 2}})
            .moveTo(0, 0).lineTo(25);
        const text = new Text(args.series.name);
        const layout = new Layout(new Rect([0, 0], [Number.MAX_VALUE, 0]), {
            alignItems: "center",
            cursor: 'pointer',
            spacing: 5
        });
    
        layout.append(path, text);
        layout.reflow();
    
        return layout;
    }
    

    【讨论】:

    • 好一个夏!不过,看起来这段代码 sn-p 需要更新,因为呈现的代码存在运行时错误。将文本行更新为const text = new Text(args.series.name, [0, 0]);,您应该一切就绪!
    • 谢谢! :) 不幸的是,由于某种原因,我提供的链接中的演示无法加载,所以我无法对此进行测试......无论如何,如果有人遇到这个问题,请使用我的答案并获得运行时错误,您的评论他也有解决方案。当我有机会时,我会尝试运行演示来测试它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    相关资源
    最近更新 更多