Seaborn調色盤



在視覺化中,顏色比任何其他方面都起著更重要的作用。有效使用顏色可以為圖表增加更多價值。調色盤是指畫家用來排列和混合顏料的平面。

構建調色盤

Seaborn提供了一個名為color_palette()的函式,可用於為圖表著色並增加其美學價值。

用法

seaborn.color_palette(palette = None, n_colors = None, desat = None)

引數

下表列出了構建調色盤的引數:

序號 調色盤及描述
1

n_colors

調色盤中的顏色數量。如果為None,則預設值取決於調色盤的指定方式。預設值為n_colors為6種顏色。

2

desat

使每種顏色去飽和的比例。

返回值

返回值是指RGB元組列表。以下是現成的Seaborn調色盤:

  • 深色(Deep)
  • 柔和(Muted)
  • 亮色(Bright)
  • 淡色(Pastel)
  • 暗色(Dark)
  • 色盲友好(Colorblind)

除此之外,還可以生成新的調色盤。

在不知道資料集特徵的情況下,很難決定應該為給定資料集使用哪個調色盤。考慮到這一點,我們將對使用color_palette()的不同方法進行分類:

  • 定性(qualitative)
  • 順序(sequential)
  • 差異(diverging)

我們還有另一個函式seaborn.palplot()用於處理調色盤。此函式將調色盤繪製為水平陣列。我們將在接下來的示例中瞭解有關seaborn.palplot()的更多資訊。

定性調色盤

定性或分類調色盤最適合繪製分類資料。

示例

from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(current_palette)
plt.show()

輸出

Colour

我們沒有在color_palette()中傳遞任何引數;預設情況下,我們看到6種顏色。可以透過向n_colors引數傳遞值來檢視所需數量的顏色。這裡,palplot()用於水平繪製顏色陣列。

順序調色盤

順序圖適合表達資料在一定範圍內從相對較低的值到較高值的分佈。

將附加字元“s”新增到傳遞給顏色引數的顏色將繪製順序圖。

示例

from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("Greens"))
plt.show()
grid

注意:我們需要在引數中附加“s”,例如上述示例中的“Greens”。

差異調色盤

差異調色盤使用兩種不同的顏色。每種顏色代表從一個共同點向任一方向變化的值。

假設繪製範圍從-1到1的資料。從-1到0的值採用一種顏色,從0到+1的值採用另一種顏色。

預設情況下,值以零為中心。可以透過傳遞值來使用center引數進行控制。

示例

from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("BrBG", 7))
plt.show()

輸出

brown

設定預設調色盤

函式color_palette()有一個名為set_palette()的配套函式。它們之間的關係類似於美學章節中介紹的配對。set_palette()color_palette()的引數相同,但預設的Matplotlib引數已更改,以便將調色盤用於所有圖表。

示例

import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
   x = np.linspace(0, 14, 100)
   for i in range(1, 5):
      plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

import seaborn as sb
sb.set_style("white")
sb.set_palette("husl")
sinplot()
plt.show()

輸出

graph

繪製單變數分佈

在分析資料時,首先需要了解資料的分佈。在這裡,我們將瞭解Seaborn如何幫助我們理解資料的單變數分佈。

函式distplot()提供了快速檢視單變數分佈的最便捷方法。此函式將繪製一個擬合數據核密度估計的直方圖。

用法

seaborn.distplot()

引數

下表列出了引數及其說明:

序號 引數及說明
1

data

序列、一維陣列或列表

2

bins

直方圖bin的規範

3

hist

布林值

4

kde

布林值

這些是需要關注的基本且重要的引數。

廣告
© . All rights reserved.