matplotlib을 사용해 보았습니다.

직장에서 matplotlib을 사용할 기회가 있었으므로 학습한 사용법을 정리해 둡니다.

환경


  • windows10
  • 파이썬 3.7.4
  • matplotlib 3.2.1

  • matplotlib 공식 페이지

    기본 사용법



    모듈 import


    import matplotlib.pyplot as plt
    

    그래프 표시


    plt.plot([1, 2, 3, 4, 5])
    plt.show()
    

    다음과 같은 그래프가 표시됩니다.
    인수에 건네주는 정보가 1개만의 경우는 y축에 인수의 좌표가 오는 것 같다.


    여러 선을 그릴 때


    line1 = [1, 2, 3, 4, 5]
    line2 = [5, 4, 3, 2, 1]
    plt.plot(line1, color='red')
    plt.plot(line2, color='green')
    plt.show()
    
    plt.plot() 로 한 줄을 그릴 수 있습니다.
    선의 색상을 변경하려면 color


    애니메이션



    선을 그리는데 애니메이션을 붙일 수도 있다.

    애니메이션에 필요한 모듈 가져오기


    from matplotlib.animation import ArtistAnimation
    # または、
    from matplotlib.animation import FuncAnimation
    

    애니메이션의 구현에는 2개의 클래스가 준비되어 있다.
  • ArtistAnimation
  • 렌더링 할 데이터를 표시하기 전에 계산하고 순차적으로 애니메이션하는 방법

  • FuncAnimation
  • 그릴 때 계산 된 값을 표시하는 방법


  • ArtistAnimation



    값이 1씩 오른쪽 어깨 올라가는 그래프의 애니메이션
    fig = plt.figure()
    artist = []
    line = []
    
    for value in range(1, 10):
        line.append(value)
        im = plt.plot(line, color='red', marker='o')
        artist.append(im)
    
    anim = ArtistAnimation(fig, artist, interval=300)    
    plt.show()
    

    FuncAnimation



    구현 내용은 ArtistAnimation과 동일
    FuncAnimation은 객체 생성시 repeat 가 기본적으로 True 이며, 초기화용 함수가 구현되어 있지 않으면 2주째 이후에 의도하지 않은 애니메이션이 되므로 주의
    fig = plt.figure()
    line = []
    
    def init():
        global line
        print("初期化処理を実装する")
        plt.gca().cla()
        line = []
    
    def draw(i):
        line.append(i)
        im = plt.plot(line, color='red', marker='o')
    
    anim = FuncAnimation(fig, func=draw, frames=10, init_func=init, interval=100)
    plt.show()
    

    좋은 웹페이지 즐겨찾기