這篇文章主要介紹了使用Python繪製圖表大全總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧
在使用Python繪製圖表前,我們需要先安裝兩個函式庫檔案numpy和matplotlib。
Numpy是Python開源的數值計算擴展,可用來儲存和處理大型矩陣,比Python自身資料結構要高效;matplotlib是一個Python的圖像框架,使用其繪製出來的圖形效果和MATLAB下繪製的圖形類似。
下面我透過一些簡單的程式碼介紹如何使用 Python繪圖。
一、圖形繪製
直方圖
importmatplotlib.pyplotasplt importnumpyasnp mu=100 sigma=20 x=mu+sigma*np.random.randn(20000)# 样本数量 plt.hist(x,bins=100,color='green',normed=True)# bins显示有几个直方,normed是否对数据进行标准化 plt.show()
importmatplotlib.pyplotasplt importnumpyasnp y=[20,10,30,25,15] index=np.arange(5) plt.bar(left=index,height=y,color='green',width=0.5) plt.show()
散點圖
importmatplotlib.pyplotasplt importnumpyasnp x=np.linspace(-10,10,100) y=x**3 plt.plot(x,y,linestyle='--',color='green',marker='<') plt.show()
餅狀圖
importmatplotlib.pyplotasplt importnumpyasnp x=np.random.randn(1000) y=x+np.random.randn(1000)*0.5 plt.scatter(x,y,s=5,marker='<')# s表示面积,marker表示图形 plt.show()
箱形圖
主要用於顯示資料的分散情況。圖形分為上緣、上四分位數、中位數、下四分位數、下緣。外面的點時異常值
importmatplotlib.pyplotasplt importnumpyasnp 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()
二、影像的調整
1、23種點形
importmatplotlib.pyplotasplt importnumpyasnp 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()
3、4種線性- 實線--虛線-.點劃線:點線
4、一張圖上繪製子圖re5格"."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
6、產生圖例
b:blueg:greenr:redc:cyan m:magentay:yellowk:blackw:white
importmatplotlib.pyplotasplt importnumpyasnp 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()
importmatplotlib.pyplotasplt importnumpyasnp y=np.arange(1,5) plt.plot(y,y*2) plt.grid(True,color='g',linestyle='--',linewidth='1') plt.show()