ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 3차원 그래프 그리기2
    PYTHON/실습 2020. 12. 11. 16:12

      

    3차원 그래프를 그리기 위한 라이브러리 임포트
    -> Axes3D 라는 모듈을 임포트해야 3차원 그래프를 그릴 수 있다. 
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
     
    좌표 생성
    -> np.meshgird 라는 함수를 통해 좌표로 쓸 2차원 배열을 만든다.
    # 좌표 생성
    x1 = np.linspace(-5, 5, 30)
    y1 = np.linspace(-5, 5, 30)
    x1, y1 = np.meshgrid(x1, y1)
    z1 = x1**2 + y1**2
     
     
     
    figure 생성 및 그래프 그리기
    -> 6개의 그래프를 그리기 위해 2행3열의 모양을 잡고, 
        거기에 맞게 figsize도 (15, 10)로 설정했다. 
    fig = plt.figure(figsize=(15, 10))
     
    ax1 = fig.add_subplot(231, projection='3d') # 2행3열에 첫번째
    ax1.plot_wireframe(x1, y1, z1)
     
    그래프2
    -> plot_surface를 이용한 그래프
    ax2 = fig.add_subplot(322, projection='3d') # 2행3열에 두번째
    ax2.plot_surface(x1, y1, z1)
     
     
    그래프3
    -> plot_surface의 cmap옵션 사용
    ax3 = fig.add_subplot(323, projection='3d')
    ax3.plot_surface(x1, y1, z1, cmap='summer')
     
    그래프4
    -> plot_surface의 rstride, cstride 를 키우면 어떻게 될까?
    ax4 = fig.add_subplot(324, projection='3d')
    ax4.plot_surface(x1, y1, z1, rstride=2, cstride=2, cmap='summer')
     
    그래프5
    -> 등고선도 그릴 수 있더라..
    ax5 = fig.add_subplot(325, projection='3d')
    ax5.contourf(x1, y1, z1, zdir='z', offset=0)
    # zdir: 등고선 높이의 기준이 될 축, offset: 등고선을 어디에 내릴지
     
    plt.show()
     
     
     
    < 모든 코드 >
     
    # 라이브러리 임포트
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    import numpy as np
     
     
     
     
    # 좌표생성
    x1 = np.linspace(-5, 5, 30)
    y1 = np.linspace(-5, 5, 30)
    x1, y1 = np.meshgrid(x1, y1)
    z1 = x1**2 + y1**2
     
     
    # figure 생성
    fig = plt.figure(figsize=(15, 10))
     
     
    # 그래프 그리기
    ax1 = fig.add_subplot(231, projection='3d') # 2행3열에 첫번째
    ax1.plot_wireframe(x1, y1, z1)
     
     
    ax2 = fig.add_subplot(232, projection='3d') # 2행3열에 두번째
    ax2.plot_surface(x1, y1, z1)
     
     
    ax3 = fig.add_subplot(233, projection='3d')
    ax3.plot_surface(x1, y1, z1, cmap='summer')
     
     
    ax4 = fig.add_subplot(234, projection='3d')
    ax4.plot_surface(x1, y1, z1, rstride=2, cstride=2, cmap='summer')
     
     
    # 등고선
    ax5 = fig.add_subplot(235, projection='3d')
    ax5.contourf(x1, y1, z1, zdir='z', offset=0)
    # zdir: 등고선 높이의 기준이 될 축, offset: 등고선의 위치
     
     
     
     
    plt.show()
     
     
     
     

    'PYTHON > 실습' 카테고리의 다른 글

    python - heapq 사용법  (0) 2022.09.28
    3차원 그래프 그리기1  (0) 2020.12.11
    웹크롤링_중앙일보  (0) 2020.05.28

    댓글

Designed by Tistory.