如上图所示图例中的上下箭头均是图片
好了现在开始准备legend的属性
一 首先想到的方法(暂时行不通,可以跳过):
1先把图片转换成base64的格式
2使用legend.formatter中返回<img>标签
3如下
return `{a|${paddedName}} {b|${data.value}} <img src='${imgBase64.up}' style="width:9px;height:11px;" /> ${cleanGrowthRate} `;
但是好像返回 HTML 字符串不会被解析为实际的 HTML,而是作为纯文本显示
二 使用富文本的背景图格式
1使用legend.textStyle.rich富文本 如果没用过富文本自己百度一下
2定义富文本的背景图
textStyle: {
rich: {
e: {
color: "#fff",
backgroundColor: {
image: imgBase64.up,
},
},
f: {
color: "#fff",
backgroundColor: {
image: imgBase64.down,
},
},
},
},
其中的image就是转换后的base64
然后再使用legend.formatter
if (arrow === imgBase64.up) {
return `{a|${paddedName}} {b|${data.value}%} {e| } {c|${cleanGrowthRate}} `;
} else if (arrow === imgBase64.down) {
return `{a|${paddedName}} {b|${data.value}%} {f| } {d|${cleanGrowthRate}} `;
}
其他的富文本标签可以忽略重要看 定义的e和f标签部分