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 或类似列表给出,则必须与基础数据具有相同的形状,考虑到axissubset。如果作为 DataFrame 或 Series 给出,则考虑到axis和,必须具有相同的索引和列标签subset。如果提供的话,vminvmax应该相对于该梯度图给出。

1.3.0 版本中的新增功能。

返回
造型器

也可以看看

Styler.text_gradient

以渐变样式为文本着色。

笔记

当使用low和时high,由数据给定的梯度范围(如果gmap未给定或由gmap)在低端通过 map.min - low * map.range有效扩展,在高端通过 map.max + high * map有效扩展.在颜色标准化和确定之前的范围。

如果与 和 结合使用,则 map.minvminvmaxmap.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)  
../../_images/bg_ax0.png

使用以下方式共同对所有值进行着色axis=None

>>> df.style.background_gradient(axis=None)  
../../_images/bg_axNone.png

从两端low压缩颜色图high

>>> df.style.background_gradient(axis=None, low=0.75, high=1.0)  
../../_images/bg_axNone_lowhigh.png

手动设置vminvmax梯度阈值

>>> df.style.background_gradient(axis=None, vmin=6.7, vmax=21.6)  
../../_images/bg_axNone_vminvmax.png

设置 agmap并用另一个应用到所有列cmap

>>> df.style.background_gradient(axis=0, gmap=df['Temp (c)'], cmap='YlOrRd')
...  
../../_images/bg_gmap.png

设置数据帧的梯度图(即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)']
... )  
../../_images/bg_axNone_gmap.png