Highchart-export-server中y轴plot band宽度设置不生效问题咨询
问题原因
导出服务和浏览器端渲染效果不一致的核心原因是二者的渲染逻辑差异:浏览器端运行的Highcharts完整支持yAxis.width配置,会自动将对应轴下的plotBands限制在设定的宽度范围内;但官方导出服务使用的无界面渲染环境没有适配该参数对plotBands的范围限制,会直接将plotBands铺满整个绘图区域。
解决方法
无需修改整体配置结构,只要调整y轴的plotBands配置即可:放弃用yAxis.width限制plotBands范围,给每个plotBand新增thickness和x属性,手动指定宽度和横向位置:
thickness设为20,和你原本需要的y轴宽度一致x设为0,固定plotBands在y轴的位置,可根据实际展示效果微调数值- 原有
yAxis.width配置可以直接删除,避免冲突
修改后的yAxis配置片段
"yAxis": [ { "title": { "text": "" }, "min": 0, "max": 100, "tickInterval": 20, "plotBands": [ { "color": "rgb(204,0,0)", "from": 0, "to": 30.99, "zIndex": 3, "thickness": 20, "x": 0 }, { "color": "rgb(226,113,113)", "from": 31, "to": 44.99, "zIndex": 3, "thickness": 20, "x": 0 }, { "color": "rgb(247,209,34)", "from": 45, "to": 54.99, "zIndex": 3, "thickness": 20, "x": 0 }, { "color": "rgb(136,207,136)", "from": 55, "to": 68.99, "zIndex": 3, "thickness": 20, "x": 0 }, { "color": "rgb(68,180,68)", "from": 69, "to": 87.99, "zIndex": 3, "thickness": 20, "x": 0 }, { "color": "rgb(0,153,0)", "from": 88, "to": 100, "zIndex": 3, "thickness": 20, "x": 0 } ] } ]
如果你使用的是自行部署的导出服务,也可以将导出服务依赖的Highcharts版本升级到最新稳定版,最新版本已经修复了该配置的适配问题。
内容的提问来源于stack exchange,提问作者Nikunj Bhalodiya
相关产品推荐
相关产品推荐

