Matplotlib 아름다운 그래프 그리기

14211 단어 matplotlib

실행 환경


  • Python 3.6.8
  • Matplotlib 3.1.2

  • 소개



    matplotlib의 스타일은
    pyplot API와 객체 지향 API의 두 가지가 있으며, pyplot API는 일반적으로 객체 지향 API보다 유연성이 낮습니다.

    Pyplot tutorial

    예 1: 꺾은선형 그래프의 묘화


    import numpy as np
    import matplotlib.pyplot as plt
    
    # データの作成
    def func(x):
        return 100*x*(1-x)
    
    x1 = np.arange(0,1.01, 0.01)
    y1 = func(x1)
    x2 = np.arange(0, 1.1, 0.1)
    y2 = x2 * 20
    

    단순히 꺾은 선형 차트를 그립니다.
    # グラフの描画
    plt.plot(x1, y1)
    plt.plot(x2, y2)
    plt.show()
    



    여기에 축 레이블과 범례가 추가됩니다.
    # X軸、Y軸のラベル
    plt.xlabel('X-AXIS')
    plt.ylabel('Y-AXIS')
    
    # グラフの描画
    plt.plot(x1, y1, label='LABEL1')
    plt.plot(x2, y2, label='LABEL2')
    
    # 凡例
    plt.legend()
    
    # 表示
    plt.show()
    



    또한 축 레이블, 눈금 및 범례의 문자 크기를 확대합니다.
    # サイズ変更
    plt.figure(figsize=(6,4))
    
    # X軸、Y軸のラベル
    plt.xlabel('X-AXIS',fontsize=24,fontfamily='Times New Roman')
    plt.ylabel('Y-AXIS',fontsize=24,fontfamily='Times New Roman')
    
    # 目盛りを内側に向ける
    plt.tick_params(direction='in',labelsize=16)
    
    # グラフの描画
    #   マーカーの種類は 'o': 円, 'D': ひし形, 's': 正方形
    plt.plot(x1, y1, label='LABEL1', c='blue', linewidth=2)
    plt.plot(x2, y2, label='LABEL2', c='red', linewidth=2, marker='o', markersize=10)
    
    # 凡例
    leg = plt.legend(
        loc='upper left',  #位置 lower/center/upper, left/center/right で指定
        fontsize=18, # フォントサイズ
        ncol=1, # 列数を指定
        fancybox=False, # Trueだと角が丸くなる, デフォルトはTrue
        edgecolor='black' # 境界線の色
    )
    leg.get_frame().set_alpha(1.0) # 凡例の矩形を不透明にする, デフォルトは半透明になっている
    
    # 表示
    plt.show()
    



    또한 확장 성을 고려하여 subplot을 사용합니다.
    # サイズ変更
    fig = plt.figure(figsize=(6,4))
    ax = plt.subplot(111)
    
    # X軸、Y軸のラベル
    ax.set_xlabel('X-AXIS',fontsize=24,fontfamily='Times New Roman')
    ax.set_ylabel('Y-AXIS',fontsize=24,fontfamily='Times New Roman')
    
    # 目盛りを内側に向ける
    ax.tick_params(direction='in',labelsize=16)
    
    # グラフの描画
    #   マーカーの種類は 'o': 円, 'D': ひし形, 's': 正方形
    ax.plot(x1, y1, label='LABEL1', c='blue', linewidth=2)
    ax.plot(x2, y2, label='LABEL2', c='red', linewidth=2, marker='o', markersize=10)
    
    # 凡例
    leg = plt.legend(
        loc='upper left',  #位置 lower/center/upper, left/center/right で指定
        fontsize=18, # フォントサイズ
        ncol=1, # 列数を指定
        fancybox=False, # Trueだと角が丸くなる, デフォルトはTrue
        edgecolor='black' # 境界線の色
    )
    leg.get_frame().set_alpha(1.0) # 凡例の矩形を不透明にする, デフォルトは半透明になっている
    # グリッド線の表示, デフォルトでは透明度0%, ラインスタイルを破線にする
    ax.grid(alpha=0.2,ls='--')
    
    # 表示
    fig.show()
    fig.savefig('subplot',bbox_inches='tight')
    

    좋은 웹페이지 즐겨찾기