一.numpy庫和matplotlib庫的學習編程
(1)numpy庫介紹:科學計算包,支持N維數組運算、處理大型矩陣、成熟的廣播函數庫、矢量運算、線性代數、傅里葉變換、隨機數生成,並可與C++/Fortran語言無縫結合數組
np.array([1,2,3])列表轉換爲數組;np.array((1,2,3))元組轉換爲數組; np.array(range(5))把range對象轉換爲數組;np.arange(8)相似於內置的range()函數編程語言
np.linspace(0,10,11,endpoint = False)等差數組不包含終點函數
(2)matplotlib庫介紹:是Python編程語言及其數值數學擴展包 NumPy的可視化操做界面。它爲利用通用的圖形用戶界面工具包,如Tkinter, wxPython, Qt或GTK+嚮應用程序嵌入式繪圖提供了應用程序接口(API)。此外,matplotlib還有一個基於圖像處理庫(如開放圖形庫OpenGL)的pylab接口,其設計與MATLAB很是相似--儘管並不怎麼好用。SciPy就是用matplotlib進行圖形繪製。工具
二.兩個庫的結合使用實例學習
import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='SimHei' #設置默認字體 matplotlib.rcParams['font.sans-serif']=['SimHei'] #設置默認字體 labels = np.array(['第一週','第二週','第三週','第四周','第五週','第六週','第七週']) # nAttr = 7 #邊數 data = np.array([0,100,90,100,110,80,100]) #數據值 angles = np.linspace(0,2*np.pi,nAttr,endpoint=False) #角度設置,0-2PI,分隔7次 data = np.concatenate((data,[data[0]])) #將數據和角度的數組首尾閉合,便於用plot函數繪製 angles = np.concatenate((angles,[angles[0]])) fig = plt.figure(facecolor="pink") #圖形外的周邊顏色 plt.subplot(111,polar=True) #創建極座標系的子分區 plt.plot(angles,data,'bo-',color='g',linewidth=2) #按照角度和數據畫出不規則多邊形 plt.fill(angles,data,facecolor='g',alpha=0.25) #填充顏色 plt.thetagrids(angles*180/np.pi,labels) #設置標籤例如第X周 plt.figtext(0.52,0.95,'孔明最帥',ha='center') #設置標題 plt.grid(True) plt.savefig('dota_radar.JPG') plt.show()
效果圖:字體