當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。