在kendo-ui图表的类别标签中的换行符

use*_*010 11 javascript asp.net-mvc kendo-ui

我有一个图表,其中标签包含两个部分,一个名称和一个数字.我希望数字显示在名称下方,由<br/>标签说明:

越线

我加载图表的内容,并在我的控制器中设置标签: 标签

当我尝试在标签上使用模板时,换行符后面的文本会出现在图表底部以及图表的其余部分:

在此输入图像描述

javascript代码:

$("#chart1").kendoChart({
        theme: "BlueOpal",
        title: { text: "My reported hours" },
        legend: { position: "bottom" },
        seriesDefaults: { type: "column" },
        dataSource: {
            transport: {
                read: {
                    url: dataUrl,
                    dataType: "json"
                }
            }
        },
        series: [{ field: "SeriesField" }],
        categoryAxis: {
            field: "CategoryAxis",
            labels: {
                rotation: 0,
                template: "#=value#<br/>newline"
            },

        },
        valueAxis: {
            labels: { format: "{0}h" },
            min: 0
        },
        tooltip: {
            visible: true,
            template: "#= formatDecimal(value) #<br/> newline"
        },
        seriesClick: onSeriesClick
    });
Run Code Online (Sandbox Code Playgroud)

如何使断线工作?

Mar*_*tin 10

在最后看到更新,这现在是可能的......离开下面,因为我认为它仍然相关.

如果您不需要标签的位置为"动态"(即有多个标签需要具有特定位置),则有另一种选择.

您可以使用该<tspan>元素.

由于Kendo呈现旧学校SVG而不是HTML5 Canvas,html标签不起作用.您必须使用SVG标记.这些并不是很好,因为SVG 1.1规范不容易允许文本换行.SVG中文本换行的建议是tspan.

例如

<tspan x="30" dy="0" text-anchor="middle">Test</tspan>
<tspan x="30" dy="1.5em"text-anchor="middle">Other 7</tspan>
Run Code Online (Sandbox Code Playgroud)

如果你将上面的标签设置为你的标签,它会让你更接近,但是直到Kendo升级到像Canvas这样的HTML5技术(极不可能),或者SVG 1.2进来(2014年8月)<tbreak/>,这是我们所拥有的最好的.

还有一个问题是图表的渲染似乎没有考虑到文本的图形表示,因此您可能会得到一些不必要的剪辑.

更新(17/01/2014)

根据此UserVoice http://kendoui-feedback.telerik.com/forums/127393-telerik-kendo-ui-feedback/suggestions/3434807-chart-multi-line-labels

他们计划在2014年第一季度实施这项功能,我会在一般情况下更新答案.

更新(2014年4月27日) 他们已经说过,现在计划在Q1之后......谁知道现在......哦......

更新(2015年1月9日) 确认它在Kendo UI v2014.3.1119中使用"\n".请参阅文档:http://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart#configuration-categoryAxis.title.text