当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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

参数

cmapstr 或颜色图

Matplotlib 颜色图。

low浮点数

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

high浮点数

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

axis{0 或 ‘index’,1 或 ‘columns’,无},默认 0

适用于每一列(axis=0'index')、每一行(axis=1'columns'),或使用 axis=None 一次应用于整个 DataFrame。

subset标签,array-like,IndexSlice,可选

一个有效的二维输入DataFrame.loc[<subset>], 或者,在 1d 输入或单键的情况下,DataFrame.loc[:, <subset>]列优先级的地方,以限制data应用该函数。

text_color_threshold浮点数或整数

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

vmin浮点数,可选

对应于颜色图最小值的最小数据值。如果未指定,将使用数据(或 gmap)的最小值。

vmax浮点数,可选

对应于颜色图最大值的最大数据值。如果未指定,将使用数据(或 gmap)的最大值。

gmaparray-like,可选

用于确定背景颜色的渐变图。如果未提供,将使用行、列或框架中的基础数据。如果以 ndarray 或 list-like 的形式给出,则必须与考虑到 axissubset 的基础数据具有相同的形状。如果作为 DataFrame 或 Series 给出,则考虑 axissubset 必须具有相同的索引和列标签。如果提供,vminvmax 应该相对于这个梯度图给出。

返回

self造型器

注意

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

如果与 vminvmax 组合,则 map.min , map.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)
bg_ax0.png

使用 axis=None 共同对所有值进行着色

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

lowhigh 两端压缩颜色图

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

手动设置vminvmax梯度阈值

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

设置 gmap 并使用另一个 cmap 应用于所有列

>>> df.style.background_gradient(axis=0, gmap=df['Temp (c)'], cmap='YlOrRd')
...
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)']
... )
bg_axNone_gmap.png

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.io.formats.style.Styler.background_gradient。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。