pandas.io.formats.style.Styler.background_gradient # 造型器。background_gradient ( cmap = 'PuBu' , low = 0 , high = 0 , axis = 0 , subset = None , text_color_threshold = 0.408 , vmin = None , vmax = None , gmap = None ) [来源] # 以渐变样式为背景着色。 背景颜色是根据每列、行或帧中的数据确定的,或者由给定的渐变图确定的。需要 matplotlib。 参数: cmap str 或颜色图Matplotlib 颜色图。 低浮动压缩低端的颜色范围。这是数据范围的倍数,以扩展到最小值以下;好的值通常在 [0, 1] 中,默认为 0。 高浮动压缩高端的颜色范围。这是数据范围的倍数,以超出最大值;好的值通常在 [0, 1] 中,默认为 0。 轴{0, 1, “索引”, “列”, 无}, 默认 0使用一次应用于每列(axis=0或'index')、每行(axis=1或)或整个 DataFrame 。'columns'axis=None 子集标签,类似数组,IndexSlice,可选DataFrame.loc[<subset>]的有效 2d 输入,或者,如果是 1d 输入或单个键,则为DataFrame.loc[:, <subset>],其中列优先,以限制data在应用之前功能。 text_color_threshold float 或 int用于确定 [0, 1] 中文本颜色的亮度阈值。方便文字 不同背景颜色的可见度。如果为 0,则所有文本均为深色,且 如果为 1,则较亮,默认为 0.408。 vmin浮动,可选与颜色图最小值对应的最小数据值。如果未指定,将使用数据(或 gmap)的最小值。 vmax浮动,可选与颜色图最大值对应的最大数据值。如果未指定,将使用数据(或 gmap)的最大值。 gmap类似数组,可选用于确定背景颜色的渐变图。如果未提供,将使用行、列或框架中的基础数据。如果作为 ndarray 或类似列表给出,则必须与基础数据具有相同的形状,考虑到axis和subset。如果作为 DataFrame 或 Series 给出,则考虑到axis和,必须具有相同的索引和列标签subset。如果提供的话,vmin和vmax应该相对于该梯度图给出。 1.3.0 版本中的新增功能。 返回: 造型器 也可以看看 Styler.text_gradient以渐变样式为文本着色。 笔记 当使用low和时high,由数据给定的梯度范围(如果gmap未给定或由gmap)在低端通过 map.min - low * map.range有效扩展,在高端通过 map.max + high * map有效扩展.在颜色标准化和确定之前的范围。 如果与 和 结合使用,则 map.minvmin、vmaxmap.max和map.range将 根据从 和 派生的值替换为值。vminvmax 此方法将预选数字列并忽略非数字列,除非gmap提供了 a,在这种情况下不会发生预选。 例子 >>> df = pd.DataFrame(columns=["City", "Temp (c)", "Rain (mm)", "Wind (m/s)"], ... data=[["Stockholm", 21.6, 5.0, 3.2], ... ["Oslo", 22.4, 13.3, 3.1], ... ["Copenhagen", 24.5, 0.0, 6.7]]) axis=0使用 预选数字列按列对值进行着色 >>> df.style.background_gradient(axis=0) 使用以下方式共同对所有值进行着色axis=None >>> df.style.background_gradient(axis=None) 从两端low压缩颜色图high >>> df.style.background_gradient(axis=None, low=0.75, high=1.0) 手动设置vmin和vmax梯度阈值 >>> df.style.background_gradient(axis=None, vmin=6.7, vmax=21.6) 设置 agmap并用另一个应用到所有列cmap >>> df.style.background_gradient(axis=0, gmap=df['Temp (c)'], cmap='YlOrRd') ... 设置数据帧的梯度图(即axis=None),我们需要显式地声明subset以匹配gmap形状 >>> gmap = np.array([[1,2,3], [2,3,4], [3,4,5]]) >>> df.style.background_gradient(axis=None, gmap=gmap, ... cmap='YlOrRd', subset=['Temp (c)', 'Rain (mm)', 'Wind (m/s)'] ... )