Python Dash Plotly表格格式化时反转颜色图例 实现高值红低值绿
解决方法
你当前遇到的色阶反转问题,核心原因是RdYlGn色阶的默认排列顺序是从红色到绿色,而代码中是按数值从小到大依次匹配色阶列表元素,所以出现低值红、高值绿的反向效果。仅需要调整色阶取值顺序即可解决,推荐两种修改方式:
方式一:直接反转现有色阶数组(仅需修改一行代码)
找到代码中定义backgroundColor的行:
backgroundColor = colorlover.scales[str(n_bins+4)]['div']['RdYlGn'][2:-2][i - 1]
在色阶列表后添加[::-1]反转即可,修改后代码如下:
backgroundColor = colorlover.scales[str(n_bins+4)]['div']['RdYlGn'][2:-2][::-1][i - 1]
修改后最小数值区间会匹配色阶列表最末的红色,最大数值区间匹配列表开头的绿色,正好符合高值红、低值绿的需求。
方式二:使用内置反向色阶
你也可以直接替换为colorlover内置的绿-黄-红色阶GnYlRd,效果和方式一完全一致:
backgroundColor = colorlover.scales[str(n_bins+4)]['div']['GnYlRd'][2:-2][i - 1]
如果你想要低值为蓝色、高值为红色的效果,把上述代码中的色阶名替换为BuRd即可。
内容的提问来源于stack exchange,提问作者FlyUFalcon
相关产品推荐
相关产品推荐

