- Seaborn教程
- Seaborn主頁
- Seaborn簡介
- Seaborn環境設定
- 匯入資料集和庫
- Seaborn圖形美學
- Seaborn調色盤
- Seaborn直方圖
- Seaborn核密度估計
- 視覺化成對關係
- Seaborn繪製分類資料
- 觀測值的分佈
- Seaborn統計估計
- Seaborn繪製寬格式資料
- 多面板分類圖
- Seaborn線性關係
- Seaborn Facet Grid
- Seaborn Pair Grid
- 函式參考
- Seaborn函式參考
- Seaborn有用資源
- Seaborn快速指南
- Seaborn有用資源
- Seaborn討論
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()
輸出
我們沒有在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()
注意:我們需要在引數中附加“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()
輸出
設定預設調色盤
函式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()
輸出
繪製單變數分佈
在分析資料時,首先需要了解資料的分佈。在這裡,我們將瞭解Seaborn如何幫助我們理解資料的單變數分佈。
函式distplot()提供了快速檢視單變數分佈的最便捷方法。此函式將繪製一個擬合數據核密度估計的直方圖。
用法
seaborn.distplot()
引數
下表列出了引數及其說明:
| 序號 | 引數及說明 |
|---|---|
| 1 | data 序列、一維陣列或列表 |
| 2 | bins 直方圖bin的規範 |
| 3 | hist 布林值 |
| 4 | kde 布林值 |
這些是需要關注的基本且重要的引數。