科学技術計算ライブラリラーニングの概要

.Numpyライブラリとmatplotlibのを学ぶのライブラリー

  (1)numpyのライブラリはじめに:N次元アレイの動作をサポートする科学技術計算パッケージ、大行列、成熟した放送ライブラリ、ベクトル演算、線形代数、フーリエ変換、乱数生成処理、及び無C ++ / Fortranの言語とをシームバインディング

      np.array([1,2,3])リストされた配列に、np.array((1,2,3))アレイにタプル; np.array(範囲(5))対象範囲の配列に変換します;ビルトイン範囲()関数に似てnp.arange(8)

      np.linspace(0,10,11は、エンドポイント=偽)は、エンドポイント演算アレイを含んでいません

 

  (2)matplotlibのライブラリ概要:Pythonプログラミング言語を拡張し、数値数学パッケージさ  numpyのビジュアルインターフェース。そのようなTkinterの、wxPythonを、QtのGTK +などの一般的なツールパッケージを使用して、グラフィカル・ユーザ・インターフェースである、またはアプリケーションは、組み込みグラフィックス・アプリケーション・プログラム・インターフェース(API)を提供します。加えて、それはまた、MATLABと非常に類似して設計されpylabインターフェースの(例えばオープングラフィックライブラリOpenGLのような)画像処理ライブラリをベースmatplotlibの-どのように使用しないけれども。scipyのダウンロードは、グラフィカルにmatplotlibのに描かれています。

    

 

2を結合。2つのライブラリの使用例を

- * -コーディング:UTF-8 - * - 
"" " 
スパイダーエディタ

。この一時的なスクリプトファイルである
" "" 
印刷" スタート" 

のインポートnumpyのNP AS
 インポートはPLT AS matplotlib.pyplot
 インポートmatplotlibの

matplotlib.rcParams [ " font.family ' ] = ' SimHei '  #は、デフォルトのフォント設定 
[matplotlib.rcParamsを' font.sans serif- ' ] = [ ' SimHei ' ] #は、デフォルトのフォント設定 
ラベルは=([np.array '最初の週"第二週第3週4週5週6週間第七週 ])  7 nAttr = #の数エッジ 
データ= np.array ([95,85,90,95,80,85,100]) データ値 
角度np.linspace =(0,2 * np.pi、nAttr、エンドポイント=偽)#の角度設定、0-2PI、隔壁7 
データnp.concatenateは=((データ、[データが[0]))  とプロット機能を描画促進する配列データの角度と端に閉鎖端部、 
角= np.concatenate((角度、[角度[0])) = plt.figure(FaceColorと=" ピンク"#1 外側カラーグラフィックの周囲 
plt.subplot(111、極性= TRUE)    サブパーティションは、システム極座標作成 
plt.plot(角度、データ、' BO- '、カラー= ' Gを'線幅= 2として、 )描か角度データおよび不規則な多角形に従って 
plt.fill(角度、データ、のFaceColor = ' G '、アルファ= 0.25)  塗りつぶし色 
plt.thetagrids(180角* / np.pi、ラベル)   #1 、例えば設定タブ週Xの 
plt.figtext(0.52,0.95、' 14-カインド図の結果'、HA = ' センター'設定されたタイトルの
plt.grid(真)
plt.savefig(' dota_radar.JPG ' 
plt.show()

結果写真:

 

III。カスタム手描き風

コードは以下の通りであります:

- * -コーディング:UTF-8 - * - 
インポートNP AS numpyの
 から PIL インポートイメージ・

クラスの画像:
    
    DEF  __init__ (自己位置):
        self.position = 位置

    DEF Hand_drawn_style(セルフ):
        vec_el = np.pi / 2    光源の頂角、ラジアン値 
        vec_az = np.pi / 3     ラジアンにおけるソース方位角、 
        深さ。6 =           #の深さ量、値が小さいほど白い背景領域に近い、背景領域の大きな値により近い黒に 
        IM =イメージ.Open(self.position).convert(' L '#が開かれ、グレースケール画像に変換されます。
        np.asarray = A(IM).astype(' フロート' 
        グラ = np.gradient(A)              は、画像のグレー値勾配をフェッチ 
        grad_x、grad_y =グラ               それぞれ水平および垂直勾配画像は、値を取る 
        grad_x = grad_x *深さ/ 100 
        grad_y = grad_y深さ* / 100 
        DX = np.cos(vec_el)* np.cos(vec_az)#1 、x軸のソース影響 
        のDy = np.cos(vec_el)* np.sin(vec_az) ソースy軸上の効果 
        DZ = np.sin(vec_el)                   #1 、z軸効果の源 
        A = np.sqrt(grad_x grad_y ** 2 + 2 + 1 
        uni_xGrad_x = / A 
        uni_y = grad_y / A 
        uni_z = 1 / A 
        A2 = 255 *(DX + Dyをuni_x * * * uni_z uni_y + DZ)ソース正規 
        A2のa2.clip =(0、255)                 オーバーフロー防止 
        = Image.fromarray IM2(a2.astype(' UINT8 '))       再構成画像 
        im2.save(' 4d0424dd81_.jpg '保存画像 
        im2.show()                表示画像

IF  __name__ == ' __main__ '
    位置 = ' 4d0424dd81.jpg ' 
    ピクチャ(位置).Hand_drawn_style()

レンダリング:

 

 

IV。分布プロット

コード

import numpy as np
import matplotlib
import scipy.stats
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab

if __name__ == "__main__":
    # 期望0,标准差1,条数50
    mu, sigma, num_bins = 0, 1, 500
    # 1M个随机数
    x = mu + sigma * np.random.randn(10000)

    # 正态分布的数据, 颜色的透明度0.5
    n, bins, patches = plt.hist(x, num_bins, density=True, facecolor='blue', alpha=0.5#のヒストグラム関数は、X 1は、確率密度として表さ=ノルム、x軸の値であるすなわち、緑色の正方形として、カラー深さパラメータ0.5。Nリターン確率、左側のブロックのX直線の値、及び各対象ブロック
    適合曲線 
    Y = scipy.stats.norm.pdf(ビン、MU、シグマ)
    plt.plot(ビン、Y、' r--の' 
    plt.xlabel(' 期待' 
    plt.ylabel(' 確率' 
    plt.title(' 正規分布のヒストグラム:。$ \ MU = $ 0、$ \ Sigma社1 = $ " 

    plt.subplots_adjust(左 = 0.15) マージン左 
    plt.grid(真)   オープングリッド線の 
    PLTを.SHOW()

結果の写真

おすすめ

転載: www.cnblogs.com/alinger/p/10932048.html