注意:示例仅供参考,若是实际场景和示例需求场景有所差别,有可能需要自行调整宏代码。
需求
在电子表格中一个柱图图形中实现其中的柱图根据数值改色,当柱图数值超过一定数值的时候柱子颜色就改变成其他颜色。
原本的效果图:
思路
1)新建客户端宏
2)宏代码如下,在宏代码中所示设置柱子指标值小于4000为红色,指标值大于4000小于6000为黄色:
function main(chartView) { var chart = chartView.getChartObject(); var options = chart.getOptions(); var series = options.series; var datas = []; for (var i in series) { if (series[i].type == "bar") { debugger; datas = series[i].data; } } for (var i in datas) { if (parseInt(datas[i].value[1]) < 4000) { datas[i].itemStyle = datas[i].itemStyle || {}; datas[i].itemStyle = { "normal": { "color": "#FF0033" } } //设置柱子的指标值小于4000为红色 } else if (parseInt(datas[i].value[1]) > 4000 && parseInt(datas[i].value[1]) < 6000) { datas[i].itemStyle = datas[i].itemStyle || {}; datas[i].itemStyle = { "normal": { "color": "#FFFF66" } } //设置柱子的指标值大于4000小于6000的柱图的颜色为黄色 } } }
效果图: