Legend.labels.template 实施
Legend.labels.template implementation
在添加
之前,我的实现一直运行良好
legend.labels.template = "# dataItem.fName # ";
我想格式化图例以使其与工具提示相同。
legend:{
visible:true,
labels:
{
template: "#= dataItem.fname #"
}
},
这里是JSFIDDLE.
在此fiddle中,当您注释掉legend.label.templates
时,它不起作用。
控制台错误表明 dataItem
是 未定义。我不知道为什么,否则你可以创建一个函数来从加入的 data
集合中获取 fname。
这是你的变量data
代码
data = data.reduce(function (a, b) {
return a.concat(b)
});
console.log(data);
改变你的模板可以这样
legend:{
visible:true,
labels:
{
template: "#= getLegendLabelBy(text) #"
}
},
并为其创建函数
function getLegendLabelBy(data) {
var label = "";
// do loop through data and grab match data by its series name
for(var i = 0; i < data.length; i++) {
var series = data[i].series;
// condition operation here and assign label value
//.......
}
return label;
}
一个快速的解决方案可能是将您的系列命名为 fname:
series: [{
type: "column",
field: "value",
stack: true,
name: "#= group.items[0].fname || group.items[1].fname #",
highlight: {
visible: false,
}
}],
已更新FIDDLE
在添加
之前,我的实现一直运行良好legend.labels.template = "# dataItem.fName # ";
我想格式化图例以使其与工具提示相同。
legend:{
visible:true,
labels:
{
template: "#= dataItem.fname #"
}
},
这里是JSFIDDLE.
在此fiddle中,当您注释掉legend.label.templates
时,它不起作用。
控制台错误表明 dataItem
是 未定义。我不知道为什么,否则你可以创建一个函数来从加入的 data
集合中获取 fname。
这是你的变量data
代码
data = data.reduce(function (a, b) {
return a.concat(b)
});
console.log(data);
改变你的模板可以这样
legend:{
visible:true,
labels:
{
template: "#= getLegendLabelBy(text) #"
}
},
并为其创建函数
function getLegendLabelBy(data) {
var label = "";
// do loop through data and grab match data by its series name
for(var i = 0; i < data.length; i++) {
var series = data[i].series;
// condition operation here and assign label value
//.......
}
return label;
}
一个快速的解决方案可能是将您的系列命名为 fname:
series: [{
type: "column",
field: "value",
stack: true,
name: "#= group.items[0].fname || group.items[1].fname #",
highlight: {
visible: false,
}
}],