您好,登錄后才能下訂單哦!
Python中Seaborn庫如何使用,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
Seaborn 是一個基于matplotlib的高級可視化效果庫,主要針對數據挖掘和機器學習中的變量特征選取,Seaborn 可以用短小的代碼去繪制描述更多維度數據的可視化效果圖。即便是沒有什么基礎的人,也可以通過極簡的代碼,做出具有分析價值而又十分美觀的圖形。
官方鏈接為: Seaborn官方鏈接[1]
Seaborn 提供的功能如下:
?面向數據集的API,用于檢查多個變量之間的關系?專門支持使用分類變量顯示觀察結果或匯總統計信息?可視化單變量或雙變量分布以及在數據子集之間進行比較的選項?不同種類因變量的線性回歸模型的自動估計和繪圖?用于構造多圖網格的高級抽象,可讓您輕松構建復雜的可視化?帶有幾個內置主題的 matplotlib圖形樣式的精確控制?選擇能夠忠實顯示數據中圖案的調色板的工具
優點
?簡化了復雜數據集的表示;?可以輕松構建復雜的可視化,簡潔的控制matplotlib圖形樣式與幾個內置主題;?seaborn不可以替代matplotlib,而是matplotlib的很好補充;?對于初學者來說容易上手,具有極簡模式;
1、散點圖矩陣
sns.pairplot(iris,hue="species", palette="Set2", diag_kind="kde", height=2.5)
2、小提琴圖
sns.violinplot(x="day", y="total_bill", hue="smoker",split=True, inner="quart",palette={"Yes": "y", "No": "b"},data=tips)
4、線性圖
# shared across the facets palette = dict(zip(dots.coherence.unique(),sns.color_palette("rocket_r", 6))) # Plot the lines on two facets sns.relplot(x="time", y="firing_rate",hue="coherence", size="choice", col="align",size_order=["T1", "T2"], palette=palette,height=5, aspect=.75, facet_kws=dict(sharex=False),kind="line", legend="full", data=dots)
5、自定義投影的FacetGrid
import numpy as np import pandas as pd import seaborn as sns sns.set() # Generate an example radial datast r = np.linspace(0, 10, num=100) df = pd.DataFrame({'r': r, 'slow': r, 'medium': 2 * r, 'fast': 4 * r}) # Convert the dataframe to long-form or "tidy" format df = pd.melt(df, id_vars=['r'], var_name='speed', value_name='theta') # Set up a grid of axes with a polar projection g = sns.FacetGrid(df, col="speed", hue="speed",subplot_kws=dict(projection='polar'), height=4.5,sharex=False, sharey=False, despine=False) # Draw a scatterplot onto each axes in the grid g.map(sns.scatterplot, "theta", "r")
6、樹形圖
import pandas as pd import seaborn as sns sns.set() # Load the brain networks example dataset df = sns.load_dataset("brain_networks", header=[0, 1, 2], index_col=0) # Select a subset of the networks used_networks = [1, 5, 6, 7, 8, 12, 13, 17] used_columns = (df.columns.get_level_values("network") .astype(int) .isin(used_networks)) df = df.loc[:, used_columns] # Create a categorical palette to identify the networks network_pal = sns.husl_palette(8, s=.45) network_lut = dict(zip(map(str, used_networks), network_pal)) # Convert the palette to vectors that will be drawn on the side of the matrix networks = df.columns.get_level_values("network") network_colors = pd.Series(networks, index=df.columns).map(network_lut) # Draw the full plot sns.clustermap(df.corr(), center=0, cmap="vlag",row_colors=network_colors, col_colors=network_colors,linewidths=.75, figsize=(13, 13))
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。