科學與可視化
一.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進行圖形繪制。
二.兩個庫的結合使用實例
一.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進行圖形繪制。
二.兩個庫的結合使用實例
matplotlib.rcParams[‘font.family‘]=‘SimHei‘ #設置默認字體 matplotlib.rcParams[‘font.sans-serif‘]=[‘SimHei‘] #設置默認字體 labels = np.array([‘第一周‘,‘第二周‘,‘第三周‘,‘第四周‘,‘第五周‘,‘第六周‘,‘第七周‘]) # nAttr = 7 #邊數 data = np.array([0,100,90,90,100,80,80]) #數據值 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()
科學與可視化