pandas.io.formats.style.Styler.background_gradient#

Styler.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字符串或色彩映射表

Matplotlib色图。

low浮动

压缩最低端的颜色范围。这是小于最小值的数据范围的倍数;好的值通常在 [0, 1] ,默认为0。

high浮动

压缩最高端的颜色范围。这是超出最大值的数据范围的倍数;好的值通常在 [0, 1] ,默认为0。

axis{0,1,“索引”,“列”,无},默认0

应用于每列 (axis=0'index' ),到每一行 (axis=1'columns' ),或使用以下命令一次性访问整个DataFrame axis=None

subset标签、类似数组、索引切片、可选

有效的2D输入到 DataFrame.loc[<subset>] ,或者,在1D输入或单键的情况下, DataFrame.loc[:, <subset>] 对列进行优先排序的位置,以限制 data在此之前 应用该函数。

text_color_threshold浮点型或整型

用于确定文本颜色的亮度阈值 [0, 1] 。促进文本在不同背景颜色之间的可见性。如果为0,则所有文本均为深色,如果为1,则为浅色,默认为0.408。

vmin浮动,可选

与色彩映射表最小值对应的最小数据值。如果未指定,将使用数据的最小值(或GMAP)。

1.0.0 新版功能.

vmax浮动,可选

与色彩映射表最大值对应的最大数据值。如果未指定,将使用数据的最大值(或GMAP)。

1.0.0 新版功能.

gmap类似阵列,可选

用于确定背景颜色的渐变贴图。如果未提供,将使用行、列或框架中的基础数据。如果以ndarray或类似列表的形式给出,则必须与基础数据具有相同的形状 axissubset 。如果指定为DataFrame或Series,则必须具有相同的索引和列标签 axissubset 。如果提供, vminvmax 应该相对于该渐变贴图给出。

1.3.0 新版功能.

退货
self造型师

参见

Styler.text_gradient

以渐变样式为文本上色。

注意事项

在使用时 lowhigh 渐变的范围,由数据给出,如果 gmap 不是给的或不是由 gmap ,被有效地扩展到低端 map.min - low * map.range 在高端市场, map.max + high * map.range 在颜色被规格化和确定之前。

如果与 vminvmax 这个 map.minmap.maxmap.range 根据派生的值替换为 vminvmax

此方法将预先选择数值列并忽略非数值列,除非 gmap 在这种情况下不会发生预选。

示例

>>> 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

从两者压缩颜色映射表 lowhigh 端部

>>> 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

设置 gmap 并使用另一列应用于所有列 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