1. 程式人生 > >python資料分析常用圖大集合

python資料分析常用圖大集合

目錄

  • 一、折線圖
  • 二、直方圖
  • 三、垂直條形圖
  • 四、水平條形圖
  • 五、餅圖
  • 六、箱線圖
  • 七、熱力圖
  • 八、散點圖
  • 九、蜘蛛圖
  • 十、二元變數分佈
  • 十一、面積圖
  • 十二、六邊形圖

以下預設所有的操作都先匯入了Numpy、pandas、matplotlib、seaborn

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

一、折線圖

折線圖可以用來表示資料隨著時間變化的趨勢

x = [2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019]
y = [5, 3, 6, 20, 17, 16, 19, 30, 32, 35]
  • Matplotlib
plt.plot(x, y)
plt.show()

  • Seaborn
df = pd.DataFrame({'x': x, 'y': y})
sns.lineplot(x="x", y="y", data=df)
plt.show()

二、直方圖

直方圖是比較常見的檢視,它是把橫座標等分成了一定數量的小區間,然後在每個小區間內用矩形條(bars)展示該區間的數值

a = np.random.randn(100)
s = pd.Series(a) 
  • Matplotlib
plt.hist(s)
plt.show()

  • Seaborn
sns.distplot(s, kde=False)
plt.show()
sns.distplot(s, kde=True)
plt.show()

三、垂直條形圖

條形圖可以幫我們檢視類別的特徵。在條形圖中,長條形的長度表示類別的頻數,寬度表示類別。

x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']
y = [5, 4, 8, 12, 7]
  • Matplotlib
plt.bar(x, y)
plt.show()

  • Seaborn
plt.show()

四、水平條形圖

x = ['Cat1', 'Cat2', 'Cat3', 'Cat4', 'Cat5']
y = [5, 4, 8, 12, 7]
plt.barh(x, y)
plt.show()

五、餅圖

nums = [25, 37, 33, 37, 6]
labels = ['High-school','Bachelor','Master','Ph.d', 'Others']
plt.pie(x = nums, labels=labels)
plt.show()

六、箱線圖

箱線圖由五個數值點組成:最大值 (max)、最小值 (min)、中位數 (median) 和上下四分位數 (Q3, Q1)。
可以幫我們分析出資料的差異性、離散程度和異常值等。

  • Matplotlib
# 生成0-1之間的10*4維度資料
data=np.random.normal(size=(10,4)) 
lables = ['A','B','C','D']
# 用Matplotlib畫箱線圖
plt.boxplot(data,labels=lables)
plt.show()

  • Seaborn
# 用Seaborn畫箱線圖
df = pd.DataFrame(data, columns=lables)
sns.boxplot(data=df)
plt.show()

七、熱力圖

力圖,英文叫 heat map,是一種矩陣表示方法,其中矩陣中的元素值用顏色來代表,不同的顏色代表不同大小的值。通過顏色就能直觀地知道某個位置上數值的大小。

flights = sns.load_dataset("flights")
data=flights.pivot('year','month','passengers')
sns.heatmap(data)
plt.show()

通過 seaborn 的 heatmap 函式,我們可以觀察到不同年份,不同月份的乘客數量變化情況,其中顏色越淺的代表乘客數量越多

八、散點圖

散點圖的英文叫做 scatter plot,它將兩個變數的值顯示在二維座標中,非常適合展示兩個變數之間的關係。

N = 1000
x = np.random.randn(N)
y = np.random.randn(N)
  • Matplotlib
plt.scatter(x, y,marker='x')
plt.show()

  • Seaborn
df = pd.DataFrame({'x': x, 'y': y})
sns.jointplot(x="x", y="y", data=df, kind='scatter');
plt.show()

九、蜘蛛圖

蜘蛛圖是一種顯示一對多關係的方法,使一個變數相對於另一個變數的顯著性是清晰可見

labels=np.array([u"推進","KDA",u"生存",u"團戰",u"發育",u"輸出"])
stats=[83, 61, 95, 67, 76, 88]
# 畫圖資料準備,角度、狀態值
angles=np.linspace(0, 2*np.pi, len(labels), endpoint=False)
stats=np.concatenate((stats,[stats[0]]))
angles=np.concatenate((angles,[angles[0]]))
# 用Matplotlib畫蜘蛛圖
fig = plt.figure()
ax = fig.add_subplot(111, polar=True)   
ax.plot(angles, stats, 'o-', linewidth=2)
ax.fill(angles, stats, alpha=0.25)
# 設定中文字型
font = FontProperties(fname=r"/System/Library/Fonts/PingFang.ttc", size=14)  
ax.set_thetagrids(angles * 180/np.pi, labels, FontProperties=font)
plt.show()

十、二元變數分佈

二元變數分佈可以看兩個變數之間的關係

tips = sns.load_dataset("tips")
tips.head(10)
#散點圖
sns.jointplot(x="total_bill", y="tip", data=tips, kind='scatter')
#核密度圖
sns.jointplot(x="total_bill", y="tip", data=tips, kind='kde')
#Hexbin圖
sns.jointplot(x="total_bill", y="tip", data=tips, kind='hex')
plt.show()

十一、面積圖

面積圖又稱區域圖,強調數量隨時間而變化的程度,也可用於引起人們對總值趨勢的注意。
堆積面積圖還可以顯示部分與整體的關係。折線圖和麵積圖都可以用來幫助我們對趨勢進行分析,當資料集有合計關係或者你想要展示區域性與整體關係的時候,使用面積圖為更好的選擇。

df = pd.DataFrame(
np.random.rand(10, 4), 
columns=['a', 'b', 'c', 'd'])

# 堆面積圖
df.plot.area()

# 面積圖
df.plot.area(stacked=False)

十二、六邊形圖

六邊形圖將空間中的點聚合成六邊形,然後根據六邊形內部的值為這些六邊形上色。

df = pd.DataFrame(
np.random.randn(1000, 2), 
columns=['a', 'b'])
df['b'] = df['b'] + np.arange(1000)

# 關鍵字引數gridsize;它控制x方向上的六邊形數量,預設為100,較大的gridsize意味著更多,更小的bin
df.plot.hexbin(x='a', y='b', gridsize=25)

相關推薦

python資料分析常用集合

目錄 一、折線圖 二、直方圖 三、垂直條形圖 四、水平條形圖 五、餅圖 六、箱線圖 七、熱力圖 八、散點圖 九、蜘蛛圖

Python資料分析常用的庫總結

Python之所以能夠成為資料分析與挖掘領域的最佳語言,是有其獨特的優勢的。因為他有很多這個領域相關的庫可以用,而且很好用,比如Numpy、SciPy、Matploglib、Pandas、ScikitLearn、Keras、Gensim等     1)Numpy,它給Python提供了真正的陣列功能,包括多

Python資料分析常用的8款工具

Python是資料處理常用工具,可以處理數量級從幾K至幾T不等的資料,具有較高的開發效率和可維護性,還具有較強的通用性和跨平臺性。Python可用於資料分析,但其單純依賴Python本身自帶的庫進行資料分析還是具有一定的侷限性的,需要安裝第三方擴充套件庫來增強分析和挖掘能力。 Python資

python資料分析常用函式

for語句的基本格式 python for迴圈的一般格式:第一行是要先定義一個賦值目標(迭代變數),和要遍歷(迭代)的對像;首行後面是要執行的語句塊。 for 目標 in 對像:     print 賦值目標 1.for迴圈字串操作 >>>a = 'i

Python資料分析常用手冊》一、NumPy和Pandas篇

      ‘first‘      按值在原始資料中出現的順序排名   C.DataFrame     DataFrame是一個表格型的資料結構,它含有一組有序的列,每列可以是不同的值型別(數值、字串、布林值等)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引

Python資料分析常用工具

1. Numpy: 科學計算基礎包, 提供矩陣資料型別、向量處理,以及精密的運算庫。$ pip install numpy 2. Pandas: 基於Numpy,最初被作為金融資料分析工具而開發出來,一般用於處理結構化資料。$ pip install pandas 3. M

資料學習線路Python/資料分析實戰基礎

本文主要歸納Python、資料分析的學習線路圖,學習方向:共分為五大板塊:板塊一:熟悉python,SQLpython(1)python語法(2)常用資料結構(列表、元組、字典)(3)python高階用法(日期和時間、列表推導式、高階函式、多執行緒)SQL(1)聚合(2)表連

Python資料分析學習路徑

本文摘自同行說使用者“風一樣的男子”,原文連結:http://www.yidianzixun.com/n/0CAz84ve?s=1&appid=yidian,如涉及版權問題請及時聯絡小編! Python是一種面向物件、直譯式計算機程式設計語言,由Guido van Rossum於1989

python資料分析常用的庫

Python是資料處理常用工具,可以處理數量級從幾K至幾T不等的資料,具有較高的開發效率和可維護性,還具有較強的通用性和跨平臺性,這裡就為大家分享幾個不錯的資料分析工具,需要的朋友可以參考下 Python是資料處理常用工具,可以處理數量級從幾K至幾T不等的資料,具有較高的開發效率和可維

Python資料分析基礎教程:NumPy學習指南 第二章 常用函式

目錄 第二章 常用函式 1    檔案讀寫示例 建立對角矩陣: np.eye(2)  儲存為txt檔案:np.savetxt("eye.txt", i2) 2    CSV檔案讀取: loadtxt() 3  &nb

Cris 的 Python 資料分析筆記 03:NumPy 矩陣運算和常用函式(重點)

03. 矩陣運算和常用函式(重點) 文章目錄 03. 矩陣運算和常用函式(重點) 1. numpy 矩陣判斷和計算 1.1 與運算 1.2 或運算 1.3 或運算作為矩陣索引賦值

史上最全Python資料分析學習路徑

Python是一種面向物件、直譯式計算機程式設計語言,由Guido van Rossum於1989年底發明。由於他簡單、易學、免費開源、可移植性、可擴充套件性等特點,Python又被稱之為膠水語言。下圖為主要程式語言近年來的流行趨勢,Python受歡迎程度扶搖直上。 圖

python資料分析處理庫-Pandas之Series結構及Series常用操作方法

我上上篇部落格說過:Pandas資料結構為DataFrame,裡面可以同時是int、float、object(string型別時)、datatime、bool資料型別。而構成DataFrame結構的每一

python資料分析基礎之與圖表——多並列

#_author:"zhengly" #date:2018/8/30 ''' 除了使用matplotlib建立標準統計圖,還可以使用panda來建立其他型別的統計圖 本例實現:利用panda建立一個條形

Python資料分析與機器學習實戰 Numpy/Pandas/Matplotlib等常用庫精講

課程簡介:     課程風格通俗易懂,真實案例實戰。精心挑選真實的資料集為案例,通過Python資料科學庫numpy,pandas,matplot結合機器學習庫scikit-learn完成一些列的機器學習案例。課程以實戰為基礎,所有課時都結合程式碼演示如何使用這些python

python資料分析基礎之與圖表——折線

#_author:"zhengly" #date:2018/8/30 ''' 折線圖 ''' from numpy.random import randn import matplotlib.pyplo

python資料分析基礎之與圖表——箱線

#_author:"zhengly" #date:2018/8/30 ''' 箱線圖 ''' import numpy as np import matplotlib.pyplot as plt plt

資料分析常用的工具有哪些(二)

在上篇文章中,筆者為大家介紹了幾種常用的大資料使用工具,而除了那些之外,還有一些在大資料中經常會用到的工具。接下來,就讓筆者繼續為大家介紹一下吧。 第三類,資料探勘類。 1.RapidMiner 這款工具主要就是用來對資料進行預測和分析的,其視覺化的介面,讓使用者不必再自行

資料分析常用的工具有哪些(一)

眾所周知,現在大資料行業發展得十分火熱,而大資料也確實為我們的生活帶來了許多的便利。隨著大資料的不斷髮展,需求的不斷增多和提升,大資料的使用工具也變得更為重要,它們能讓大家節省更多的時間和金錢。 在大資料這一概念提出到現在的這十年間,市面上出現了各類的大資料使用工具,讓我們從中遴選

Python資料分析與挖掘實戰(Pandas,Matplotlib常用方法)

作業系統:Windows Python:3.5 歡迎加入學習交流QQ群:657341423 上節講到資料分析和挖掘需要的庫,其中最主要的是Pandas,Matplotlib。 Pandas:主要是對資料分析,計算和統計,如求平均值,方差等。 Matplotl