在使用Python繪製圖表前,我們需要先安裝兩個庫檔案numpy和matplotlib。
Numpy是Python開源的數值計算擴充套件,可用來儲存和處理大型矩陣,比Python自身資料結構要高效;matplotlib是一個Python的影象框架,使用其繪製出來的圖形效果和MATLAB下繪製的圖形類似。
下面我透過一些簡單的程式碼介紹如何使用 Python繪圖。
一、圖形繪製
直方圖
import matplotlib。pyplot as plt
import numpy as np
mu = 100
sigma = 20
x = mu + sigma * np。random。randn(20000) # 樣本數量
plt。hist(x,bins=100,color=‘green’,normed=True) # bins顯示有幾個直方,normed是否對資料進行標準化
plt。show()
條形圖
import matplotlib。pyplot as plt
import numpy as np
y = [20,10,30,25,15]
index = np。arange(5)
plt。bar(left=index, height=y, color=‘green’, width=0。5)
plt。show()
折線圖
import matplotlib。pyplot as plt
import numpy as np
x = np。linspace(-10,10,100)
y = x**3
plt。plot(x,y,linestyle=‘——’,color=‘green’,marker=‘<’)
plt。show()
散點圖
import matplotlib。pyplot as plt
import numpy as np
x = np。random。randn(1000)
y = x+np。random。randn(1000)*0。5
plt。scatter(x,y,s=5,marker=‘<’) # s表示面積,marker表示圖形
plt。show()
餅狀圖
import matplotlib。pyplot as plt
import numpy as np
labels = ‘A’,‘B’,‘C’,‘D’
fracs = [15,30,45,10]
plt。axes(aspect=1) #使x y軸比例相同
explode = [0,0。05,0,0] # 突出某一部分割槽域
plt。pie(x=fracs, labels=labels, autopct=‘%。0f%%’, explode=explode) #autopct顯示百分比
plt。show()
箱形圖
主要用於顯示資料的分散情況。圖形分為上邊緣、上四分位數、中位數、下四分位數、下邊緣。外面的點時異常值
import matplotlib。pyplot as plt
import numpy as np
np。random。seed(100)
data = np。random。normal(size=(1000,4),loc=0,scale=1)
labels = [‘A’,‘B’,‘C’,‘D’]
plt。boxplot(data,labels=labels)
plt。show()
二、影象的調整
1、23種點形狀
“。” point “,” pixel “o” circle “v” triangle_down
“^” triangle_up “<” triangle_left “>” triangle_right “1” tri_down
“2” tri_up “3” tri_left “4” tri_right “8” octagon
“s” square “p” pentagon “*” star “h” hexagon1 “H” hexagon2
“+” plus “x” x “D” diamond “d” thin_diamond
2、8種內建預設顏色的縮寫
b:blue g:green r:red c:cyan
m:magenta y:yellow k:black w:white
3、4種線性
- 實線 ——虛線 -。點劃線 :點線
4、一張圖上繪製子圖
import matplotlib。pyplot as plt
import numpy as np
x=np。arange(1,100)
plt。subplot(221) # 2行2列第1個圖
plt。plot(x,x)
plt。subplot(222)
plt。plot(x,-x)
plt。subplot(223)
plt。plot(x,x*x)
plt。subplot(224)
plt。plot(x,np。log(x))
plt。show()
5、生成網格
import matplotlib。pyplot as plt
import numpy as np
y=np。arange(1,5)
plt。plot(y,y*2)
plt。grid(True,color=‘g’,linestyle=‘——’,linewidth=‘1’)
plt。show()
6、生成圖例
import matplotlib。pyplot as plt
import numpy as np
x=np。arange(1,11,1)
plt。plot(x,x*2)
plt。plot(x,x*3)
plt。plot(x,x*4)
plt。legend([‘Normal’,‘Fast’,‘Faster’])
plt。show()
作者:超人Python
出處:Python爬蟲實戰
知乎專欄:Python爬蟲實戰
最近很多人私信問我問題,平常知乎評論看到不多,如果沒有及時回覆,大家也可以加小編微信:tszhihu,進知乎大資料分析挖掘交流群,可以跟各位老師互相交流。謝謝。