highcharts-export-server自定义图例实现咨询及简易解决方案
解决方案:Highcharts Export Server 自定义图例(纯JSON+系列颜色)
目前Highcharts的纯JSON配置体系中,确实没有直接支持传入格式化字符串数组来定义自定义图例的配置项,但可以通过以下两种方案实现你的需求:
方案1:直接在系列中定义名称与颜色(纯JSON无函数)
图例默认会读取每个系列的name字段作为显示文本,同时支持给每个系列指定color属性。你可以预先把格式化好的文本作为系列name的值,同时配置color字段指定系列颜色,完全用纯JSON就能实现需求:
{ "chart": { "type": "line" }, "series": [ { "name": "2024年Q1 销售额", "color": "#2f7ed8", "data": [120, 150, 180] }, { "name": "2024年Q2 销售额", "color": "#0d233a", "data": [160, 190, 220] } ] }
方案2:使用instr字段支持简单格式化函数
如果需要带简单逻辑的图例格式化(无外部依赖),可以通过stringifyObject工具(能保留函数的序列化方法)把包含labelFormatter函数的图表配置序列化,通过instr字段传入,并开启allowCodeExecution=true来允许函数执行:
{ "instr": "{\"legend\": {\"labelFormatter\": function() { return this.name + '(同比+' + this.yData[2] + '%)'; }}, \"series\": [{\"name\": \"华东区域\", \"color\": \"#8bbc21\", \"data\": [50, 70, 20]}]}", "allowCodeExecution": true, "type": "png" }
注意:不能用原生
JSON.stringify序列化配置,因为原生会忽略函数,需要使用能保留函数的序列化工具。
额外说明
由于node-export-server仓库仅接受bug类Issue,无法在此提交功能相关提问,你可以后续向Highcharts官方提交功能请求,建议增加纯JSON下直接传入图例文本数组的配置项。
内容的提问来源于stack exchange,提问作者Sujit Kumar Singh
相关产品推荐
相关产品推荐

