Numpy是Python開源的數值計算擴展,可用來存儲和處理大型矩陣,比Python自身數據結構要高效;
matplotlib是一個Python的圖像框架,使用其繪制出來的圖形效果和MATLAB下繪制的圖形類似。
在使用Python繪制圖表前,我們需要先安裝兩個庫文件numpy和matplotlib
pip install numpy
pip install matplotlib
生成直方圖
import numpy as np from pylab import * num=100 sigma=20 x=num+sigma*np.random.randn(20000) #樣本數量 plt.hist(x,bins=100,color="green",normed=True) #bins顯示有幾個直方,normed是否對數據進行標准化 plt.show() #顯示圖像
plt.savefig() #保存圖片
運行結果:
生成條形圖
import numpy as np from pylab import * value=[22,13,34] index=["root","admin","lyshark"]
#index=np.arange(5) plt.bar(left=index,height=value,color="green",width=0.5) plt.show()
運行結果:
生成折線圖
import numpy as np from pylab import * x=np.linspace(-10,10,100) y=x**3 plt.plot(x,y,linestyle="--",color="green",marker="<") plt.show()
運行結果:
生成散點圖
import numpy as np from pylab import * 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 numpy as np from pylab import * labels="cangjingkong","jizemingbu","boduoyejieyi","xiaozemaliya" fracs=[45,10,30,15] plt.axes(aspect=1) explode=[0,0.05,0,0] plt.pie(x=fracs,labels=labels,autopct="%0f%%",explode=explode) plt.show()
運行結果:
生成箱形圖
主要用於顯示數據的分散情況。圖形分為上邊緣、上四分位數、中位數、下四分位數、下邊緣。外面的點時異常值
import numpy as np from pylab import * 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()
運行結果:
生成多個圖例
import numpy as np from pylab import * x=np.arange(1,11,1) plt.plot(x,x*2) plt.plot(x,x*3) plt.plot(x,x*4) plt.legend(["BoDuoYeJieYi","CangJingKong","JiaTengYing"]) plt.show()
運行結果:
生成中文圖片
import numpy as np from pylab import * mpl.rcParams['font.sans-serif'] = ['KaiTi'] label = "windows xp","windows 7","Windows 8","Linux 4","Centos 6","Huawei交換機" fracs = [1,2,3,4,5,1] plt.axes(aspect=1) plt.pie(x=fracs,labels=label,autopct="%0d%%") plt.show()