真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中怎么使用Seaborn繪制常用圖表

Python中怎么使用Seaborn繪制常用圖表,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

葉城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

Seaborn是構(gòu)建在matplotlib之上的數(shù)據(jù)可視化庫,與Python中的pandas數(shù)據(jù)結(jié)構(gòu)緊密集成。可視化是Seaborn的核心部分,可以幫助探索和理解數(shù)據(jù)。

要了解Seaborn,就必須熟悉NumpyMatplotlib以及pandas。

Seaborn提供以下功能:

  1. 面向數(shù)據(jù)集的API來確定變量之間的關(guān)系。

  2. 線性回歸曲線的自動計(jì)算和繪制。

  3. 它支持對多圖像的高級抽象繪制。

  4. 可視化單變量和雙變量分布。

這些只是Seaborn提供的功能的一部分,還有很多其他功能,我們可以在這里探索所有的功能。

要引入Seaborn庫,使用的命令是:

 import seaborn as sns

使用Seaborn,我們可以繪制各種各樣的圖形,如:

  1. 分布曲線

  2. 餅圖和柱狀圖

  3. 散點(diǎn)圖

  4. 配對圖

  5. 熱力圖

在文章中,我們使用從Kaggle下載的谷歌Playstore數(shù)據(jù)集。

1.分布曲線

我們可以將Seaborn的分布圖與Matplotlib的直方圖進(jìn)行比較。它們都提供非常相似的功能。這里我們畫的不是直方圖中的頻率圖,而是y軸上的近似概率密度。

我們將在代碼中使用sns.distplot()來繪制分布圖。

在進(jìn)一步之前,首先,讓我們訪問我們的數(shù)據(jù)集,

 import pandas as pd
 import numpy as np
 pstore = pd.read_csv("googleplaystore.csv")
 pstore.head(10)
從我們的系統(tǒng)訪問數(shù)據(jù)集

數(shù)據(jù)集是這樣的,

Python中怎么使用Seaborn繪制常用圖表

從Kaggle獲得的谷歌播放商店數(shù)據(jù)集

現(xiàn)在,讓我們看看如果我們繪制來自上述數(shù)據(jù)集的“Rating”列的分布圖是怎樣的,

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Create a distribution plot for rating
 sns.distplot(pstore.Rating)
 plt.show()
Rating列分布圖的代碼

Rating列的分布圖是這樣的,

Python中怎么使用Seaborn繪制常用圖表

在這里,曲線(KDE)顯示在分布圖上的是近似的概率密度曲線。

與matplotlib中的直方圖類似,在分布方面,我們也可以改變類別的數(shù)量,使圖更容易理解。

我們只需要在代碼中加上類別的數(shù)量,

 #Change the number of bins
 sns.distplot(inp1.Rating, bins=20, kde = False)
 plt.show()

圖像是這樣的,

Python中怎么使用Seaborn繪制常用圖表

特定類別數(shù)的分布圖

在上圖中,沒有概率密度曲線。要移除曲線,我們只需在代碼中寫入' kde = False '

我們還可以向分布圖提供與matplotlib類似的容器的標(biāo)題和顏色。讓我們看看它的代碼,

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Create a distribution plot for rating
 sns.distplot(pstore.Rating, bins=20, color="g")
 plt.title("Distribution of app ratings", fontsize=20, color = 'red')
 plt.show()

同一列Rating的分布圖是這樣的:

Python中怎么使用Seaborn繪制常用圖表

有標(biāo)題的分布圖

對Seaborn圖形進(jìn)行樣式化

使用Seaborn的最大優(yōu)勢之一是,它為圖形提供了廣泛的默認(rèn)樣式選項(xiàng)。

這些是Seaborn提供的默認(rèn)樣式。

 'Solarize_Light2',
  '_classic_test_patch',
  'bmh',
  'classic',
  'dark_background',
  'fast',
  'fivethirtyeight',
  'ggplot',
  'grayscale',
  'seaborn',
  'seaborn-bright',
  'seaborn-colorblind',
  'seaborn-dark',
  'seaborn-dark-palette',
  'seaborn-darkgrid',
  'seaborn-deep',
  'seaborn-muted',
  'seaborn-notebook',
  'seaborn-paper',
  'seaborn-pastel',
  'seaborn-poster',
  'seaborn-talk',
  'seaborn-ticks',
  'seaborn-white',
  'seaborn-whitegrid',
  'tableau-colorblind10'

我們只需要編寫一行代碼就可以將這些樣式合并到我們的圖中。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Adding dark background to the graph
 plt.style.use("dark_background")
 
 #Create a distribution plot for rating
 sns.distplot(pstore.Rating, bins=20, color="g")
 plt.title("Distribution of app ratings", fontsize=20, color = 'red')
 plt.show()

在將深色背景應(yīng)用到我們的圖表后,分布圖看起來是這樣的,

Python中怎么使用Seaborn繪制常用圖表

深色背景的分布圖
2.餅圖和柱狀圖

餅圖通常用于分析數(shù)字變量在不同類別之間如何變化。

在我們使用的數(shù)據(jù)集中,我們將分析內(nèi)容Rating欄中的前4個類別的執(zhí)行情況。

首先,我們將對內(nèi)容Rating列進(jìn)行一些數(shù)據(jù)清理/挖掘,并檢查其中的類別。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Analyzing the Content Rating column
 pstore['Content Rating'].value_counts()

類別列表是,

Python中怎么使用Seaborn繪制常用圖表

Rating列數(shù)

根據(jù)上面的輸出,由于“只有18歲以上的成年人”和“未分級”的數(shù)量比其他的要少得多,我們將從內(nèi)容分級中刪除這些類別并更新數(shù)據(jù)集。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Remove the rows with values which are less represented
 pstore = pstore[~pstore['Content Rating'].isin(["Adults only 18+","Unrated"])]
 
 #Resetting the index
 pstore.reset_index(inplace=True, drop=True)
 
 #Analyzing the Content Rating column again
 pstore['Content Rating'].value_counts()

更新后在“Rating”欄中出現(xiàn)的類別是:

Python中怎么使用Seaborn繪制常用圖表

更新數(shù)據(jù)集后的Rating計(jì)數(shù)

現(xiàn)在,讓我們?yōu)镽ating列中出現(xiàn)的類別繪制餅圖。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Plotting a pie chart
 plt.figure(figsize=[9,7])
 pstore['Content Rating'].value_counts().plot.pie()
 plt.show()

上面代碼的餅狀圖如下所示,

Python中怎么使用Seaborn繪制常用圖表

用于Rating的餅狀圖

從上面的餅圖中,我們不能正確的推斷出“所有人10+”和“成熟17+”。當(dāng)這兩類人的價值觀有點(diǎn)相似的時候,很難評估他們之間的差別。

我們可以通過將上述數(shù)據(jù)繪制成柱狀圖來克服這種情況。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Plotting a bar chart
 plt.figure(figsize=[9,7])
 pstore['Content Rating'].value_counts().plot.barh()
 plt.show()

柱狀圖如下所示,

Python中怎么使用Seaborn繪制常用圖表

Rating欄的條形圖

與餅圖類似,我們也可以定制柱狀圖,使用不同的柱狀圖顏色、圖表標(biāo)題等。

3.散點(diǎn)圖

到目前為止,我們只處理數(shù)據(jù)集中的一個數(shù)字列,比如評級、評論或大小等。但是,如果我們必須推斷兩個數(shù)字列之間的關(guān)系,比如“評級和大小”或“評級和評論”,會怎么樣呢?

當(dāng)我們想要繪制數(shù)據(jù)集中任意兩個數(shù)值列之間的關(guān)系時,可以使用散點(diǎn)圖。此圖是機(jī)器學(xué)習(xí)領(lǐng)域的最強(qiáng)大的可視化工具。

讓我們看看數(shù)據(jù)集評級和大小中的兩個數(shù)字列的散點(diǎn)圖是什么樣子的。首先,我們將使用matplotlib繪制圖,然后我們將看到它在seaborn中的樣子。

使用matplotlib的散點(diǎn)圖

 #import all the necessary libraries
 #Plotting the scatter plot
 plt.scatter(pstore.Size, pstore.Rating)
 plt.show()

圖是這樣的

Python中怎么使用Seaborn繪制常用圖表

使用Matplotlib的散點(diǎn)圖

使用Seaborn的散點(diǎn)圖

在直方圖和散點(diǎn)圖的代碼中,我們將使用sn .joinplot()。

sns.scatterplot()散點(diǎn)圖的代碼。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 # Plotting the same thing now using a jointplot
 sns.jointplot(pstore.Size, pstore.Rating)
 plt.show()

上面代碼的散點(diǎn)圖如下所示,

Python中怎么使用Seaborn繪制常用圖表

使用Seaborn的散點(diǎn)圖

在seaborn中使用散點(diǎn)圖的主要優(yōu)點(diǎn)是,我們將同時得到散點(diǎn)圖和直方圖。

如果我們想在代碼中只看到散點(diǎn)圖而不是組合圖,只需將其改為“scatterplot”

回歸曲線

回歸圖在聯(lián)合圖(散點(diǎn)圖)中建立了2個數(shù)值參數(shù)之間的回歸線,并有助于可視化它們的線性關(guān)系。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 # Plotting the same thing now using a jointplot
 sns.jointplot(pstore.Size, pstore.Rating, kind = "reg")
 plt.show()

圖是這樣的,

Python中怎么使用Seaborn繪制常用圖表

在Seaborn中使用jointplot進(jìn)行回歸分析

從上圖中我們可以推斷出,當(dāng)app的價格上升時,評級會穩(wěn)步上升。

4.配對圖

當(dāng)我們想要查看超過3個不同數(shù)值變量之間的關(guān)系模式時,可以使用配對圖。例如,假設(shè)我們想要了解一個公司的銷售如何受到三個不同因素的影響,在這種情況下,配對圖將非常有用。

讓我們?yōu)閿?shù)據(jù)集的評論、大小、價格和評級列創(chuàng)建一對圖。

我們將在代碼中使用sns.pairplot()一次繪制多個散點(diǎn)圖。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 # Plotting the same thing now using a jointplot
 sns.pairplot(pstore[['Reviews', 'Size', 'Price','Rating']])
 plt.show()

上面圖形的輸出圖形是這樣的,

Python中怎么使用Seaborn繪制常用圖表

使用Seaborn的配對圖
  • 對于非對角視圖,圖像是兩個數(shù)值變量之間的散點(diǎn)圖

  • 對于對角線視圖,它繪制一個柱狀圖,因?yàn)閮蓚€軸(x,y)是相同的。

5.熱力圖

熱圖以二維形式表示數(shù)據(jù)。熱圖的最終目的是用彩色圖表顯示信息的概要。它利用了顏色強(qiáng)度的概念來可視化一系列的值。

我們在足球比賽中經(jīng)常看到以下類型的圖形,

Python中怎么使用Seaborn繪制常用圖表

足球運(yùn)動員的熱圖

在Seaborn中創(chuàng)建這個類型的圖。

我們將使用sn .heatmap()繪制可視化圖。

當(dāng)你有以下數(shù)據(jù)時,我們可以創(chuàng)建一個熱圖。

Python中怎么使用Seaborn繪制常用圖表

上面的表是使用來自Pandas的透視表創(chuàng)建的。

現(xiàn)在,讓我們看看如何為上表創(chuàng)建一個熱圖。

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 ##Plot a heat map
 sns.heatmap(heat)
 plt.show()

在上面的代碼中,我們已經(jīng)將數(shù)據(jù)保存在新的變量“heat”中。

熱圖如下所示,

Python中怎么使用Seaborn繪制常用圖表

使用Seaborn創(chuàng)建默認(rèn)熱圖

我們可以對上面的圖進(jìn)行一些自定義,也可以改變顏色梯度,使最大值的顏色變深,最小值的顏色變淺。

更新后的代碼是這樣的,

 #importing all the libraries
 import numpy as np
 import pandas as pd
 import matplotlib.pyplot as plt
 import seaborn as sns
 
 #Applying some customization to the heat map
 sns.heatmap(heat, cmap = "Greens", annot=True)
 plt.show()

上面代碼的熱圖是這樣的,

Python中怎么使用Seaborn繪制常用圖表

帶有一些自定義的熱圖代碼

看完上述內(nèi)容,你們掌握Python中怎么使用Seaborn繪制常用圖表的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


網(wǎng)頁名稱:Python中怎么使用Seaborn繪制常用圖表
當(dāng)前網(wǎng)址:http://weahome.cn/article/gedssh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部