統計作圖函數(和matplotlib、pandas)

Python主要統計作圖函數
作圖函數名 作圖函數功能 所屬工具箱
plot() 繪製線性二維圖,折線圖 Matplotlib/Pandas
pie() 繪製餅形圖 Matplotlib/Pandas
hist() 繪製二維條形直方圖,可顯示數據的分配情形

Matplotlib/Pandas

 

boxplot() 繪製樣本數據的箱型圖 Pandas
plot(logy=True) 繪製y軸的對數圖形 Pandas
plot(yerr=error) 繪製誤差條形圖 Pandas

在作圖之前,通常要加載以下代碼:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號
plt.figure(figsize=(7,5))#創建圖像區域,指定比例

作圖完成後,一般通過plt.show()來顯示作圖結果

1、plot                     plt.plot(x,y,S)        D.plot(kind='box')

在區間(0~2\pi)繪製一條藍色的正弦虛線,並在每個座標點標上五角星。

import numpy as np
x = np.linspace(0,2*np.pi,50) #x座標輸入
y = np.sin(x) #計算對應x的正弦值
plt.plot(x,y,'bp--')#控制圖像格式爲藍色帶星虛線,顯示正弦曲線
plt.show()

2、pie                              plt.pie(size)

通過向量[15,30,45,10]畫餅圖,註上標籤,並將第2部分分離出來。

import matplotlib.pyplot as plt
#the slices will be ordered and plotted counter-clockwise.
labels = 'Frogs','Hogs','Dogs','Logs'#定義標籤
sizes = [15,30,45,10]#每一塊的比例
colors = ['yellowgreen','gold','lightskyblue','lightcoral']#每一塊顏色
explode = (0,0.1,0,0)#突出顯示,這裏僅僅突出顯示第二塊(即‘Hogs’)
#autopct='%1.1f%%'  小數點前表示域寬,小數點後爲保留小數位
plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90)
plt.axis('equal')#顯示爲圓(避免比例壓縮爲橢圓)
plt.show()

3、hist                        plt.hist(x,y)

繪製二維條形直方圖,可顯示數據的分佈情形。

import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000) #1000個服從正態分佈的隨機數,x是待繪製直方圖的一維數組,y可以是整數,表示均勻分爲n組;也可以是列表,列表各個數字爲分組的邊界點(即手動指定分界點)
plt.hist(x,10)#分成10組進行繪製直方圖
plt.show()

4、boxplot                       D.boxplot()/D.plot(kind='box')

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
x = np.random.randn(1000)#1000個服從正態分佈的隨機數
D = pd.DataFrame([x,x+1]).T#構造兩列的DataFrame
D.plot(kind='box')#調用Series內置的作圖方法畫圖,用kind參數指定箱形圖box
plt.show()

5、plot(logx=True)/plot(logy=True)

實例:構造指數函數數據使用plot(logy=True)函數進行繪圖

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號
import numpy as np
import pandas as pd

x = pd.Series(np.exp(np.arange(20)))#原始數據
x.plot(label=u'原始數據圖',legend=True)
plt.show()
x.plot(logy=True,label=u'對數數據圖',legend=True)
plt.show()

6、plot(yerr=error)         D.plot(yerr=error)

實例:繪製誤差棒圖

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False #用來正常顯示負號
import numpy as np
import pandas as pd
error = np.random.randn(10)#定義誤差列
y = pd.Series(np.sin(np.arange(10)))#均值數據列
y.plot(yerr=error)#繪製誤差圖
plt.show()

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章