我用Kendo UI构建了一个条形图,其中的条形值应该相互叠加。如果您查看图表here,似乎只显示一个值(百万)。蓝绿色条所代表的另一个值(1000s)在那里,但是because it's so much smaller它是不可见的,除非您隐藏第一个值。
我希望能够转换1000s值,以便它在与百万条值相同的视图中显示。我正在某些模板中使用kendo.toLocaleString
(显示图表的模板),但似乎没有任何作用。
我希望在y轴(valueAxis
)上缩短百万列,但是如果您查看1000年代的屏幕截图,数字将大大偏斜。
使用Kendo模板会使事情变得更加令人讨厌,因此,如果有更好的方法可以解决此问题,请告诉我。
function createWOffChart(payload, stdYAxis) {
let i = Math.abs(payload[0].woffamt.toFixed(2));
let j = Math.abs(payload[0].wuwdamt.toFixed(2));
let k = Number(i) + Number(j);
let total = k.toLocaleString();
$("div[report='woff']").kendoChart({
dataSource: {
data: payload
// template: "#= kendo.toString(value/1000000) #"
},
legend: {
visible: true
},
schema: {
data: "value"
},
seriesDefaults: {
type: "column",
stack: true
},
chartArea: {
width: 260,
height: 350
},
series: [{
name: "WOffAmt",
field: "woffamt", // req
color: "#4dc3a1",
template: "#= Math.abs(value) #"
}, {
name: "WUWDAmt",
field: "wuwdamt", // req
color: "#5d5348",
template: "#= Math.abs(value) #"
// template:
}],
valueAxis: {
labels: {
visible: true,
template: "#= Math.abs(kendo.toString(value/1000000)) #"
},
reverse: true // orients chart right side up
},
tooltip: {
visible: true,
template: "#= series.name #: #= Math.abs(value).toFixed(2) #" // series.value doesn't work
}
});
console.log(payload);
console.log(kendo.toString(payload[0].wuwdamt));
}