色阶

色阶用颜色表示数据的大小。该法给数据中的最小值和最大值分别指定颜色,然后用两种颜色之间的色阶表示中间的值。也可以给中间的值指定其他颜色取色阶。代码如下所示:[大谦Excel,dqexcel点com]

code.python
import xlwings as xw    #导入xlwings
import os    #导入os
root = os.getcwd()    #获取当前路径
#创建Excel应用窗口,可见,不添加工作簿
app=xw.App(visible=True, add_book=False)
#打开数据文件,可写
bk=app.books.open(fullname=root+r'\09 条件格式.xlsx',read_only=False)
sht=bk.api.Sheets(1)    #获取工作表
rng=sht.Range('A1:A15')    #获取单元格区域
rng.FormatConditions.Delete()    #删除单元格区域中已有的条件格式
rng.FormatConditions.AddColorScale(ColorScaleType=3)    #色阶对象,3种颜色
rng.FormatConditions(1).ColorScaleCriteria(1).Type=\
      xw.constants.ConditionValueTypes.xlConditionValueLowestValue    #最小值
rng.FormatConditions(1).ColorScaleCriteria(1).\
      FormatColor.Color=xw.utils.rgb_to_int((0,255,0))    #绿色
rng.FormatConditions(1).ColorScaleCriteria(2).Type=\
      xw.constants.ConditionValueTypes.xlConditionValuePercentile
rng.FormatConditions(1).ColorScaleCriteria(2).Value=50    #中值
rng.FormatConditions(1).ColorScaleCriteria(2).\
      FormatColor.Color=xw.utils.rgb_to_int((250,250,0))    #黄色
rng.FormatConditions(1).ColorScaleCriteria(3).Type=\
      xw.constants.ConditionValueTypes.xlConditionValueHighestValue    #最大值
rng.FormatConditions(1).ColorScaleCriteria(3).\
      FormatColor.Color=xw.utils.rgb_to_int((255,0,0))    #红色
bk.save()    #保存工作簿
bk.close()    #关闭工作簿
app.kill()    #关闭应用

在脚本窗口中选择Run→Run Module命令,运行脚本,结果如图9-10所示。最小值1对应绿色,最大值15对应红色,中值8对应黄色,其他值取三者之间的线性插值颜色。

Document Image Document Image

图9-10 使用色阶 图9-11 使用数据条