Highcharts面积图正值无填充、负值自定义填充色实现方法
需求可行性结论
该需求完全可以实现,无需编写复杂的自定义绘图逻辑,通过Highcharts原生配置即可完成。
配置修改方法
你现有代码已经配置了negativeFillColor指定负值区域的填充色,只需要补充1项配置即可达到效果:
- 为series节点新增
fillColor属性,值设为'transparent',让y=0阈值以上的正值区域完全透明,不显示填充色 - 保留原有
negativeFillColor: '#0088FF'配置,负值区域会自动渲染你指定的填充色
修改后完整配置代码
series: [{ type: 'areaspline', data: [ 0, 55440.0, 111560.04833, 112339.71916, 112472.46654, 112517.60124, 112304.13865, 112164.4945, 112126.68508, 100603.11168, -21269.6799, -21293.85952, -21433.65793, -21443.22706, -21536.02614, -21570.02976, -17035.60628, -12398.79965, -12501.13564, -12546.36009, -12680.17631, -12785.62897, -12872.93642, -13005.94782, -13120.47298, -6560.55385, ], name: 'Test', fillColor: 'transparent', negativeFillColor: '#0088FF', marker: { enabled: true, symbol: 'circle', fillColor: '#559BD1', }, dataLabels: { enabled: false, }, }]
补充说明
- 该方案使用Highcharts原生能力,无需引入额外插件、修改框架源码
- 面积曲线本身、数据标记点的样式不会受填充配置影响,会完全保留你原有设置的效果
- 正负区域的分割边界会自动对齐y=0轴线位置,不需要手动计算曲线与0轴的交叉坐标
内容的提问来源于stack exchange,提问作者mike trausch
相关产品推荐
相关产品推荐

