Python 3: 3차원 그래프를 작성하는 방법(matplotlib, pyplot, mplot3d, MPL)

3차원 그래프를 작성하는 방법



신경망의 학습에서 나타나는 편미분(구배)의 이해를 위해 3차원 그래프를 그려보자. (참고: 수치 미분)

파이썬에서 NumPy와 matplotlib을 사용하여 3D 그래프를 그립니다.

준비


  • 3차원이므로 mpl_toolkits.mplot3d 등을 가져오기

  • ex1-1.py
    from mpl_toolkits.mplot3d import Axes3D
    import matplotlib.pyplot as plt
    import numpy as np
    
  • 인수의 제곱합을 계산하는 함수를 예로 생각한다.

    ex1-2.py
    def func1(x, y):
        return x**2 + y**2
    
  • 묘사 데이터의 작성
  • 3 차원으로 묘사하려면 2 차원 메쉬가 필요합니다
  • 2 차원 배열을 arange를 사용하여 만든다
  • x, y를 각각 1 차원 영역으로 나눕니다.


  • ex1-3.py
    x = np.arange(-3.0, 3.0, 0.1)
    y = np.arange(-3.0, 3.0, 0.1)
    
  • 2차원 메쉬는 meshgrid로 만든다.
  • X 행에 x 행렬을, Y는 열에 y 배열을 넣습니다.


  • ex1-3.py
    X, Y = np.meshgrid(x, y)
    Z = func1(X, Y)
    
  • 그래프 작성
  • 그림에서 2 차원 다이어그램 생성
  • 그런 다음 Axes3D 함수로 3 차원으로 만듭니다.


  • ex1-4.py
    fig = plt.figure()
    ax = Axes3D(fig)
    
  • 축 라벨 설정

  • ex1-5.py
    ax.set_xlabel("x")
    ax.set_ylabel("y")
    ax.set_zlabel("f(x, y)")
    

    - 그래프 묘사

    ex1-6.py
    ax.plot_wireframe(X, Y, Z)
    plt.show()
    

    이상을 정리해 실장하면, 이하와 같은 3차원의 그래프가 렌더링 됩니다.






    plot의 속성으로 color (선의 색), linestyle (선의 종류), 마커의 종류 등을 변경할 수 있습니다.


    보다 간단하게 그릴 수 있는 코드등 있으면 교수해 주세요.

    자세한 내용은 나중에 추가 할 예정입니다.

    좋은 웹페이지 즐겨찾기