1. 程式人生 > >2019-04-20 Python之科學計算庫學習總結

2019-04-20 Python之科學計算庫學習總結

進行 函數 二周 ada 界面工具 src 處理 成熟 wiki

一.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進行圖形繪制。

    

二.兩個庫的結合使用實例

# -*- coding: utf-8 -*-
"""
Spyder Editor

This is a temporary script file.
"""
print("開始")

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([95,85,90,95,80,85,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,14-Kind的成績圖,ha=center) #設置標題 plt.grid(True) plt.savefig(dota_radar.JPG) plt.show()

效果圖片:

技術分享圖片

三.自定義手繪風

2019-04-20 Python之科學計算庫學習總結