matplot図面


Matplotlib
MatplotlibはPythonの2 Dグラフィックスライブラリで、Matplotlibを通じて、開発者は数行のコードだけで、グラフィックス、ヒストグラム、パワースペクトル、ストライプ図、エラー図、散点図などを生成することができます.
http://matplotlib.org
  • 出版品質チャートを作成するための描画ツールライブラリ
  • 目的はPythonのためにMatlab式の描画インターフェース
  • を構築することである.
  • import matplotlib.pyplot as plt
  • pyplotモジュールは、一般的なmatplotlib API関数
  • を含む
    figure
  • Matplotlibの画像はいずれもfigureオブジェクトの
  • にある.
  • figureを作成する:fig=plt.figure()

  • サンプルコード:
    #   matplotlib 
    import matplotlib.pyplot as plt
    import numpy as np
    
    %matplotlib inline # jupyter notebook           
    
    #   figure  
    fig = plt.figure()

    実行結果:次の図に示すmatplot绘图_第1张图片のfigureウィンドウがポップアップされます.
    subplot
    fig.add_subplot(a, b, c)
  • a,bはfigをa*bに分割する領域
  • を示す.
  • cは現在選択する操作する領域を表し、
  • .
  • 注意:1から番号(0からではない)
  • plotプロットの領域は、subplotを指定した最後の位置(jupyter notebookでは正しく表示されません)
  • です.
    サンプルコード:
    #          
    ax1 = fig.add_subplot(2,2,1)
    ax2 = fig.add_subplot(2,2,2)
    ax3 = fig.add_subplot(2,2,3)
    ax4 = fig.add_subplot(2,2,4)
    
    #  subplot   
    random_arr = np.random.randn(100)
    #print random_arr
    
    #           subplot      ,   jupyter notebook        
    plt.plot(random_arr)
    
    #           subplot     
    # ax1 = fig.plot(random_arr)
    # ax2 = fig.plot(random_arr)
    # ax3 = fig.plot(random_arr)
    
    #       
    plt.show()

    運転結果:右下隅のみ図matplot绘图_第2张图片
    ヒストグラム:hist
    サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    plt.hist(np.random.randn(100), bins=10, color='b', alpha=0.3)
    plt.show()

    matplot绘图_第3张图片
    散点図さんてんず:scatter scatter
    サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    #      
    x = np.arange(50)
    y = x + 5 * np.random.rand(50)
    plt.scatter(x, y)
    plt.show()

    matplot绘图_第4张图片
    柱状図:bar
    サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    #    
    x = np.arange(5)
    y1, y2 = np.random.randint(1, 25, size=(2, 5))
    width = 0.25
    ax = plt.subplot(1,1,1)
    ax.bar(x, y1, width, color='r')
    ax.bar(x+width, y2, width, color='g')
    ax.set_xticks(x+width)
    ax.set_xticklabels(['a', 'b', 'c', 'd', 'e'])
    plt.show()

    matplot绘图_第5张图片 matplot绘图_第6张图片
    マトリックス描画:plt.imshow()
  • 混同行列,3次元の関係
  • サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    #     
    m = np.random.rand(10,10)
    print(m)
    plt.imshow(m, interpolation='nearest', cmap=plt.cm.ocean)
    plt.colorbar()
    plt.show()

    plt.subplots()
  • は、新しく作成されたfigureとsubplotオブジェクト配列
  • を同時に返す.
  • 2 2行2列subplot:fig,subplot_を生成arr = plt.subplots(2,2)
  • はjupyterで正常に表示されます.この方法で複数のグラフ
  • を作成することをお勧めします.
    サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    fig, subplot_arr = plt.subplots(2,2)
    # bins      ,          
    subplot_arr[1,0].hist(np.random.randn(100), bins=10, color='b', alpha=0.3)
    plt.show()

    実行結果:左下図面matplot绘图_第7张图片
    色、タグ、線種
  • ax.plot(x, y, ‘r--’)
    axに等価である.plot(x, y, linestyle=‘--’, color=‘r’)

  • サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    fig, axes = plt.subplots(2)
    axes[0].plot(np.random.randint(0, 100, 50), 'ro--')
    #   
    axes[1].plot(np.random.randint(0, 100, 50), color='r', linestyle='dashed', marker='o')

    matplot绘图_第8张图片
  • でよく使われる色、タグ、線形色
  • b: blue

  • g: grean

  • r: red

  • c: cyan

  • m: magenta

  • y: yellow

  • k: black

  • w: white


  • マーク
  • .: point

  • ,: pixel

  • o: circle

  • v: triangle_down

  • ^: triangle_up

  • <: tiiangle_left="">

  • 線種
  • '-' or 'solid': solid lint

  • '--' or 'dashed': dashed line

  • '-.' or 'dashdot': dash-dotted line

  • ':' or 'dotted': dotted line

  • 'None': draw nothing

  • ' ': draw nothing

  • '': draw nothing


  • 目盛、ラベル、凡例
  • 目盛り範囲の設定
    plt.xlim(), plt.ylim()
    ax.set_xlim(), ax.set_ylim()
  • 表示の目盛りを設定する
    plt.xticks(), plt.yticks()
    ax.set_xticks(), ax.set_yticks()
  • スケールラベルの設定
    ax.set_xticklabels(), ax.set_yticklabels()
  • 座標軸ラベルの設定
    ax.set_xlabel(), ax.set_ylabel()
  • タイトルの設定
    ax.set_title()
  • 図例
    ax.plot(label=‘legend’)
    ax.legend(), plt.legend()loc=‘best’:配置パターンの最適な位置を自動的に選択

  • サンプルコード:
    import matplotlib.pyplot as plt
    import numpy as np
    
    fig, ax = plt.subplots(1)
    ax.plot(np.random.randn(1000).cumsum(), label='line0')
    
    #     
    #plt.xlim([0,500])
    ax.set_xlim([0, 800])
    
    #        
    #plt.xticks([0,500])
    ax.set_xticks(range(0,500,100))
    
    #       
    ax.set_yticklabels(['Jan', 'Feb', 'Mar'])
    
    #        
    ax.set_xlabel('Number')
    ax.set_ylabel('Month')
    
    #     
    ax.set_title('Example')
    
    #   
    ax.plot(np.random.randn(1000).cumsum(), label='line1')
    ax.plot(np.random.randn(1000).cumsum(), label='line2')
    ax.legend()
    ax.legend(loc='best')
    #plt.legend()

    matplot绘图_第9张图片