1. 程式人生 > >seaborn使用(樣式管理)

seaborn使用(樣式管理)

white 通過 pytho 返回 style 想要 edi with 變量

seaborn使用(樣式管理)


Seaborn是一個在Python中制作具有吸引力和豐富信息的統計圖形的庫。它建立在matplotlib之上,並與PyData堆棧緊密集成,包括支持scipy和pandas的數據結構以及scipy和 statsmodels的統計模型。
serborn官方參考文檔

  • 樣式管理
  • 繪圖函數
  • 結構化網格

一、樣式管理

  1. seaborn圖形樣式
  1. 去除坐標軸上的軸刺
  2. 臨時設置圖形的樣式
  3. 重寫seaborn的元素樣式
  4. 縮放圖形的規模
  5. 選擇調色板

1.seaborn圖形樣式

seaborn目前共有五種樣式,分別是darkgrid, whitegrid, dark, white, and ticks

,默認的是darkgrid,黑色帶網格的背景。

sns.set_style("whitegrid")

2.去除坐標軸上的軸刺

坐標軸上的軸刺是指,在刻度處顯示的小豎線,為了美觀,有時我們需要把該細線去掉,代碼如下。

sns.despine()

3.臨時設置圖形的樣式

與直接修改所有seaborn圖形樣式不一樣,如果我們僅僅需要修改其中一個圖形的樣式,可以使用with,代碼如下。

with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sinplot()
plt.subplot(212)
sinplot(-1)

4.重寫seaborn的元素樣式

如果想自定義某個元素的具體樣式,可以將要修改的屬性參數通過字典的方式傳入到axes_style()set_style()中,通過sns.axes_style()可以查看當前的屬性值和參數值,如果想要修改的參數不在返回的屬性中,可以調用更高級別的函數set(),該函數可以修改任意屬性值。


5.圖形規模的縮放

seaborn給我們提供了四個預定的值 paper,notebook,talk,poster,默認值是notebook,需要註意的一點是,修改該屬性值之前我們需要先調用sns.set()重置默認的參數,代碼如下。

sns.set()
sns.set_context("paper"
) sinplot()

如果進一步的想要自定義圖形的規模,可以通過以下代碼實現。

sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5})
sinplot()

6.顏色的控制

  • 定性的調色板
  • 順序調色板
  • 發散調色板

定性調色板用來繪畫那些沒有相關關系的變量,可以從視覺上更好的區分不同變量。

current_palette = sns.color_palette()
sns.palplot(current_palette)

上述代碼中,sns.color_palette()會返回當前默認調色板中的顏色列表,但顏色的個數是固定的,當我們需要使用的顏色數大於該列表中顏色的數量時,可以通過以下代碼實現。

sns.palplot(sns.color_palette("husl", 8))
#  以下也可以實現
sns.palplot(sns.color_palette("Set2", 8))

我們可以修改數字8為其他數字,根據需要的顏色個數自行修改。
也可以直接指定使用的顏色

plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=3)
plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3)
plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3);

順序調色板也就是漸變色,我們可以通過顏色映射數據值的大小,尤其是在kdeplot()corrplot中會經常使用。

seaborn使用(樣式管理)