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'
),或使用以下命令一次性访问整个DataFrameaxis=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或类似列表的形式给出,则必须与基础数据具有相同的形状
axis
和subset
。如果指定为DataFrame或Series,则必须具有相同的索引和列标签axis
和subset
。如果提供,vmin
和vmax
应该相对于该渐变贴图给出。1.3.0 新版功能.
- 退货
- self造型师
参见
Styler.text_gradient
以渐变样式为文本上色。
注意事项
在使用时
low
和high
渐变的范围,由数据给出,如果gmap
不是给的或不是由gmap
,被有效地扩展到低端 map.min - low * map.range 在高端市场, map.max + high * map.range 在颜色被规格化和确定之前。如果与
vmin
和vmax
这个 map.min , map.max 和 map.range 根据派生的值替换为vmin
和vmax
。此方法将预先选择数值列并忽略非数值列,除非
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)
使用以下选项对所有值进行集体着色
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)
设置
gmap
并使用另一列应用于所有列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)'] ... )