作圖函數名 | 作圖函數功能 | 所屬工具箱 |
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)繪製一條藍色的正弦虛線,並在每個座標點標上五角星。
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()