'5 種常用數據可視化工具包,9 種 seaborn 常用圖形'
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
4. 估計圖:
sns.barplot
可以很容易地繪製簇狀柱形圖,柱子的高度可以選擇不同的統計函數,還會顯示置信區間。
sns.countplot
一種柱形圖,柱子高度是計數。
5. 關係統計圖:
關係圖用來找兩個變量之間的關係。
sns.relplot
畫出 x 軸 y 軸的散點圖。
sns.lineplot
畫出 x 軸 y 軸的曲線,可以顯示出曲線帶狀。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
4. 估計圖:
sns.barplot
可以很容易地繪製簇狀柱形圖,柱子的高度可以選擇不同的統計函數,還會顯示置信區間。
sns.countplot
一種柱形圖,柱子高度是計數。
5. 關係統計圖:
關係圖用來找兩個變量之間的關係。
sns.relplot
畫出 x 軸 y 軸的散點圖。
sns.lineplot
畫出 x 軸 y 軸的曲線,可以顯示出曲線帶狀。
6. 迴歸統計圖:
sns.lmplot
可以畫出兩個變量間的迴歸關係,在畫出擬合線的同時,也按照某個特徵分類別畫出散點,並分別擬合。可以在同一個座標系中顯示,也可以在不同的座標系中顯示。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
4. 估計圖:
sns.barplot
可以很容易地繪製簇狀柱形圖,柱子的高度可以選擇不同的統計函數,還會顯示置信區間。
sns.countplot
一種柱形圖,柱子高度是計數。
5. 關係統計圖:
關係圖用來找兩個變量之間的關係。
sns.relplot
畫出 x 軸 y 軸的散點圖。
sns.lineplot
畫出 x 軸 y 軸的曲線,可以顯示出曲線帶狀。
6. 迴歸統計圖:
sns.lmplot
可以畫出兩個變量間的迴歸關係,在畫出擬合線的同時,也按照某個特徵分類別畫出散點,並分別擬合。可以在同一個座標系中顯示,也可以在不同的座標系中顯示。
7. 數據分佈統計圖:
sns.distplot 是直方圖。
sns.jointplot 是聯合統計圖:是一個座標網格,有 A,B,C 三個區域,A 用來畫出兩個特徵之間的關係,B 和 C 分別畫出兩個特徵的數據分佈。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
4. 估計圖:
sns.barplot
可以很容易地繪製簇狀柱形圖,柱子的高度可以選擇不同的統計函數,還會顯示置信區間。
sns.countplot
一種柱形圖,柱子高度是計數。
5. 關係統計圖:
關係圖用來找兩個變量之間的關係。
sns.relplot
畫出 x 軸 y 軸的散點圖。
sns.lineplot
畫出 x 軸 y 軸的曲線,可以顯示出曲線帶狀。
6. 迴歸統計圖:
sns.lmplot
可以畫出兩個變量間的迴歸關係,在畫出擬合線的同時,也按照某個特徵分類別畫出散點,並分別擬合。可以在同一個座標系中顯示,也可以在不同的座標系中顯示。
7. 數據分佈統計圖:
sns.distplot 是直方圖。
sns.jointplot 是聯合統計圖:是一個座標網格,有 A,B,C 三個區域,A 用來畫出兩個特徵之間的關係,B 和 C 分別畫出兩個特徵的數據分佈。
8. 座標網格關係圖:
有多個特徵時,直接生成兩兩特徵之間的關係圖。
sns.pairplot 這個函數同樣也可以指定 hue 參數,用來區分不同的類別。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
4. 估計圖:
sns.barplot
可以很容易地繪製簇狀柱形圖,柱子的高度可以選擇不同的統計函數,還會顯示置信區間。
sns.countplot
一種柱形圖,柱子高度是計數。
5. 關係統計圖:
關係圖用來找兩個變量之間的關係。
sns.relplot
畫出 x 軸 y 軸的散點圖。
sns.lineplot
畫出 x 軸 y 軸的曲線,可以顯示出曲線帶狀。
6. 迴歸統計圖:
sns.lmplot
可以畫出兩個變量間的迴歸關係,在畫出擬合線的同時,也按照某個特徵分類別畫出散點,並分別擬合。可以在同一個座標系中顯示,也可以在不同的座標系中顯示。
7. 數據分佈統計圖:
sns.distplot 是直方圖。
sns.jointplot 是聯合統計圖:是一個座標網格,有 A,B,C 三個區域,A 用來畫出兩個特徵之間的關係,B 和 C 分別畫出兩個特徵的數據分佈。
8. 座標網格關係圖:
有多個特徵時,直接生成兩兩特徵之間的關係圖。
sns.pairplot 這個函數同樣也可以指定 hue 參數,用來區分不同的類別。
9. 熱圖:
sns.heatmap用色彩深淺來顯示數據的大小。
sns.clustermap 能夠表示分層聚類的熱圖。
數據可視化就是用圖表,圖形或者地圖等可視化的元素來展示數據。
因為我們的眼睛對顏色和模式比較敏感,用可視化的方法展示,更容易發現數據中隱藏的信息。
1. 5 種常用的可視化工具包:
1. Matplotlib:
一種基於 NumPy ,Python 的繪圖工具包。
https://matplotlib.org/
2. Seaborn:
一種基於 Matplotlib 的可視化工具,繪圖代碼更簡潔,少了一些參數的設置。
Seaborn 擅長對分類數據進行統計可視化,因為它可以自動處理數據集的不同特徵數據,而且還提供了一些新型統計圖。
https://seaborn.pydata.org/#
3. Plotnine:
這個庫是從 ggplot2 發展而來。
https://plotnine.readthedocs.io/en/stable/
4. Plotly:
是基於 D3.js、stack.gl 和 SVG,底層是 plotly.js,可以用 JavaScript 在網頁上繪製各種統計圖形。
https://plot.ly/python/
5. Bokeh:
能夠基於服務器發佈各種具有強交互性的圖形。
https://bokeh.pydata.org/en/latest/index.html
2. Matplotlib 的 6 種常用的可視化圖形:
1. 散點圖:
用於發現發現兩組連續變量之間的關係。
不僅是展示橫縱座標兩個維度的信息,還可以用點的大小,點的顏色深淺等可視化元素來表示多一些的特徵,比如可以用大小表示面積,用顏色表示密度。
點也不限於圓點,還可以是樹形等形象的形狀使分類特徵更加清晰。
plt.plot
ax.scatter
2. 柱形圖:
用於比較數據之間的大小關係。
最好用於比較對象較少時,否則太密集效果不好。
plt.bar
df.plot.bar、df.plot(kind=’bar‘)
還有橫向的柱形圖,叫做條形圖:
plt.barh
df.plot.barh、df.plot(kind=’barh‘)
堆積柱形圖:
用於展示每個對象內部元素比例。比如收入第一的佔總收入的部分可以展示出來。
簇狀柱形圖:
將幾個柱形圖放在一簇,這樣就有兩個角度的比較。
可以對簇的內部進行比較,不同簇之間也可以進行比較。
正負柱形圖
三維座標系中的柱形圖
3. 折線圖:
用於觀察變化趨勢。
4.直方圖:
用於顯示數值的分佈,還可以得到概率密度函數。看起來很像柱形圖,但卻很不一樣,直方圖顯示的是分佈,而不是簡單比較大小。
直方圖的畫法是找出最小值、最大值,劃分為 k 小段,每小段的長度叫做“組距”,數一數落在各個組內的數據個數.
頻數直方圖:縱座標是頻數
頻率直方圖:縱座標是頻率
5. 餅圖:
用於顯示每一項佔總數的比例.
plt.pie
6. 箱形圖:
用於顯示統計五值:中位數、上限、下限,上下四分位數,可以觀察異常值,密集程度,對稱性。可以設置是否顯示平均值。
中位數:由矩形箱子中間的那條線,數據集的一半小於等於該值,而另一半則大於等於該值。
四分位間距框:四分位間距框表示中間 50% 的數據,“上四分位數 Q3”和“下四分位數 Q1”的差(Q3-Q1)
四分位間距:IQR = Q3 - Q1
上限、下限:由矩形框向兩側延伸的線段,線段的終點分別稱為“上限”和“下限”
上限 = Q3 + 1.5 × IQR
下限 = Q1 - 1.5 × IQR
異常值:超出“上限”和“下限”範圍的值。
這個分位數,是按照位置計算的,而不是數值大小。
以上圖片來源:
https://matplotlib.org/gallery/index.html
下面我們詳細介紹一下 seaborn 的基本圖形。
3. seaborn 的 9 種基本圖形:
seaborn 擅長對類別數據進行可視化。
主要函數是 sns.catplot,它有下面這幾個參數:
row,col:“座標矩陣”的行列
order,hue_order:指定分類特徵顯示的順序。
kind:指定統計圖的種類,可以設置 'strip',"point”、“bar”、“swarm”、“box”、“violin”or“boxen” 這幾種類別。
palette:設置色彩方案
1. 散點圖:
sns.catplot
sns.stripplot
例如有一組數據有這樣七列:
total_bill float64
tip float64
sex category
smoker category
day category
time category
size int64
通過下面這樣一句代碼,就可以把七個特徵可視化在一張圖上:
sns.relplot(x=’total_bill‘, y=’tip‘, col=’time‘, hue=’smoker‘, style=’smoker‘, size=’size‘, data=tips)
其中座標系的橫軸和縱軸分別為數字類型的特徵 total_bill 和 tip,
圖示中點的大小表示用size表示,
兩張子圖分佈表示特徵 time 中的兩類數據,
圖中的點代表了特徵 smoker 中的兩類數據。
條狀散點圖
jitter=0.05
用來設置同一類別數據中的振幅,這樣可以看出重合的點集內部細節。
dodge=True
可以在同一類數據中再根據 hue 賦予的特徵進一步分類。
sns.swarmplot
使點不重疊,這些點均勻對稱分佈在分類特徵數值所在直線的兩側,可以表示數據的分佈特點。
sns.swarmplot(x="measurement", y="value", hue="species",
palette=["r", "c", "y"], data=iris)
2. 柱形圖:
Matplotlib 中繪製簇狀的柱形圖的代碼需要很多參數,但 Seaborn 中只需要一行簡單代碼:
sns.barplot(x = ”class“, y = ”survived“, hue = ”sex“, data=titanic)
3. 分佈圖:
sns.boxplot
這裡還可以把箱線圖和散點圖同時畫出來。
sns.boxenplot
用來畫數據量比較大時的箱線圖。
sns.violinplot
提琴圖是箱線圖和核密度估計的綜合,反映真實的數據量分佈,哪裡數據量大,哪裡就比較寬,並且左右軸對稱,也可以對半顯示不同類別數據。
4. 估計圖:
sns.barplot
可以很容易地繪製簇狀柱形圖,柱子的高度可以選擇不同的統計函數,還會顯示置信區間。
sns.countplot
一種柱形圖,柱子高度是計數。
5. 關係統計圖:
關係圖用來找兩個變量之間的關係。
sns.relplot
畫出 x 軸 y 軸的散點圖。
sns.lineplot
畫出 x 軸 y 軸的曲線,可以顯示出曲線帶狀。
6. 迴歸統計圖:
sns.lmplot
可以畫出兩個變量間的迴歸關係,在畫出擬合線的同時,也按照某個特徵分類別畫出散點,並分別擬合。可以在同一個座標系中顯示,也可以在不同的座標系中顯示。
7. 數據分佈統計圖:
sns.distplot 是直方圖。
sns.jointplot 是聯合統計圖:是一個座標網格,有 A,B,C 三個區域,A 用來畫出兩個特徵之間的關係,B 和 C 分別畫出兩個特徵的數據分佈。
8. 座標網格關係圖:
有多個特徵時,直接生成兩兩特徵之間的關係圖。
sns.pairplot 這個函數同樣也可以指定 hue 參數,用來區分不同的類別。
9. 熱圖:
sns.heatmap用色彩深淺來顯示數據的大小。
sns.clustermap 能夠表示分層聚類的熱圖。
以上圖片來源:
https://seaborn.pydata.org/examples/index.html