- Seaborn 教程
- Seaborn - 首頁
- Seaborn - 簡介
- Seaborn - 環境配置
- 匯入資料集和庫
- Seaborn - 圖表美化
- Seaborn - 調色盤
- Seaborn - 直方圖
- Seaborn - 核密度估計
- 視覺化成對關係
- Seaborn - 繪製分類資料
- 觀測值的分佈
- Seaborn - 統計估計
- Seaborn - 繪製寬格式資料
- 多面板分類圖
- Seaborn - 線性關係
- Seaborn - Facet Grid
- Seaborn - Pair Grid
- 函式參考
- Seaborn - 函式參考
- Seaborn 有用資源
- Seaborn - 快速指南
- Seaborn - 有用資源
- Seaborn - 討論
Seaborn.ecdfplot() 方法
Seaborn.edcfplot() 方法用於繪製經驗累積分佈函式。
經驗累積分佈函式表示資料集中低於每個不同值的觀測值的百分比或計數。它的優點是每個觀測值都直接顯示,而不是像直方圖或密度圖那樣,因此無需更改分箱或平滑設定。它也使直接比較不同的分佈更容易。
一個缺點是,直觀地理解圖表外觀與分佈的基本特徵(如其集中趨勢、方差和是否存在雙峰性)之間的聯絡可能不夠清晰。
語法
以下是seaborn.ecdfplot() 方法的語法:
seaborn.ecdfplot(data=None, *, x=None, y=None, hue=None, weights=None, stat='proportion', complementary=False, palette=None, hue_order=None, hue_norm=None, log_scale=None, legend=True, ax=None, **kwargs
引數
上述方法的一些引數如下所示。
| 序號 | 引數和描述 |
|---|---|
| 1 | x,y 表示在x,y軸上的變數。 |
| 2 | Hue 這將生成具有不同顏色的元素。它是一個分組變數。 |
| 3 | Complementary 此引數用於繪製累積分佈函式的補集,即;1-CDF。 |
| 4 | Stat 此引數取值proportion和count。它是要計算的分佈統計量。 |
| 5 | palette 當也考慮色調對映時,此引數設定圖表的顏色。 |
| 6 | Hue_order 在色調語義中繪製分類變數的順序。 |
| 7 | Hue_norm 用於設定色調語義中資料單位的歸一化範圍。提供一對資料值。 |
| 8 | Weights 如果傳遞此引數,則這些數字將用於加權各個資料點對累積分佈的貢獻。 |
| 9 | Log_scale 將軸刻度設定為對數,繪製的值也為對數刻度。 |
| 10 | Legend 布林值。如果為false,則不列印語義變數的圖例。 |
在繼續繪製圖表之前,讓我們載入seaborn庫和資料集。
載入seaborn庫
要載入或匯入seaborn庫,可以使用以下程式碼行。
Import seaborn as sns
載入資料集
在本文中,我們將使用seaborn庫中內建的Tips資料集。使用以下命令載入資料集。
tips=sns.load_dataset("tips")
以下命令用於檢視資料集中前5行。這使我們能夠了解可以使用哪些變數來繪製圖表。
tips.head()
以下是上述程式碼的輸出。
index,total_bill,tip,sex,smoker,day,time,size 0,16.99,1.01,Female,No,Sun,Dinner,2 1,10.34,1.66,Male,No,Sun,Dinner,3 2,21.01,3.5,Male,No,Sun,Dinner,3 3,23.68,3.31,Male,No,Sun,Dinner,2 4,24.59,3.61,Female,No,Sun,Dinner,4
現在我們已經載入了資料,我們將繼續繪製資料。
示例1
在這個例子中,我們將看到如何為資料集中單個變數繪製經驗累積分佈函式圖。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.ecdfplot(data=tips, x="tip")
plt.show()
輸出
上述程式碼的輸出如下所示。
示例2
在這個例子中,我們將看到stat引數的用法。它可以取值proportion和count。它用於指定要計算的分佈統計量。
將“proportion”傳遞給stat引數。執行此操作的程式碼如下所示。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.ecdfplot(data=tips, x="tip",hue="time",stat="proportion")
plt.show()
輸出
以下程式碼行的輸出如下
將“count”傳遞給stat引數。執行此操作的程式碼如下所示。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.ecdfplot(data=tips, x="tip",hue="time",stat="count")
plt.show()
以下程式碼行的輸出如下
示例3
seaborn.ecdfplot() 方法的complementary引數用於繪製累積分佈函式的補集,它使用1-CDF計算。如果為True,則列印補集。如下所示。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.ecdfplot(data=tips, x="tip",hue="time",stat="proportion",complementary=True)
plt.show()
輸出
對於上面給出的程式碼片段,將繪製以下輸出。
示例4
在這個例子中,我們將看到如何不傳送任何引數,但仍然能夠在螢幕上繪製資料。
如果既未賦值x也未賦值y,則資料集將作為寬格式處理,併為每個數值列建立一個直方圖。
以下程式碼行也可以用於資料集中有多個同名列或以相同名稱開頭的列的情況。
import seaborn as sns
import matplotlib.pyplot as plt
tips=sns.load_dataset("tips")
tips.head()
sns.ecdfplot(data=tips.filter(like="total_", axis="columns"))
plt.show()
輸出
程式碼片段的輸出如下所示。