파이썬 Matplotlib을 이용한 데이터 시각화 프로그래밍17 - 3D 플로팅1
Matplotlib은 3차원 좌표에 플로팅 해주는 다양한 기능들을 제공하고 있습니다. 이번 포스팅에서는 다음과 같은 내용에 대해 살펴봅니다.
- 3D 라인 그리기
- 3D 산점도 그리기
- 3D 와이어 프레임 그리기
3D 곡선 그리기
3D 플로팅을 하려면 3차원 좌표를 설정하는 것이 제일 먼저 해야할 일입니다. 아래 코드는 3차원 좌표에 Parametric 곡선을 그리는 예입니다.
코드의 주요부분만 살펴보면,
>>> mpl.rcParams['legend.fontsize'] = 10
레전드의 폰트 크기를 10으로 설정해줍니다.
>>> ax = fig.gca(projection='3d')
플로팅 하려는 좌표를 3D로 지정합니다. 이제 ax는 3D 좌표가 기준이 됩니다.
>>> ax.plot(x, y, z, label='parametric curve')
x, y, z 를 3차원 좌표에 플로팅합니다.
이상을 보면 2차원 좌표에서 플로팅하는 것과 비교하면 z값이 하나 더 늘었을 뿐입니다. 결과는 아래와 같습니다.
3D 산점도 그리기
3차원 좌표에 산점도를 그리는 것 역시 제일 먼저 해야할 일은 3차원 좌표계를 설정하는 것입니다.
>>> ax = fig.add_subplot(111, projection='3d')
3D 곡선 그리기에서 3차원 좌료를 설정하기 위해 fig.gca(projection='3d')를 이용했지만, 여기서는 3차원 서브플롯을 추가하여 설정했습니다.
결과는 아래와 같습니다.
3D 와이어 프레임 그리기
>>> X, Y, Z = axes3d.get_test_data(0.05)
mpl_toolkits.mplot3d.get_test_data()는 테스트용 3차원 좌표 샘플을 만들어 줍니다.
>>> ax.plot_wireframe(X, Y, Z, rstride=5, cstride=5, lw=1)
3차원 좌표에 와이어 프레임을 그립니다. 와이어의 간격은 row 방향으로 5(rstride=5), column 방향으로 5(cstride=5)이며 선두께는 1로 설정했습니다. 이 값들을 적절하게 변경하면 와이어 프레임의 모양이 달라집니다. 만약 rstride나 cstride의 값이 0으로 설정되면 해당 방향의 와이어는 사라집니다.
결과는 아래와 같습니다.
[출처] 데이터 시각화 프로그래밍17 - 3D 플로팅1|작성자 옥수별
'연구개발 > 데이터시각화' 카테고리의 다른 글
데이터 시각화 프로그래밍19 - 3D 플로팅3 (0) | 2017.12.14 |
---|---|
데이터 시각화 프로그래밍18 - 3D 플로팅2 (0) | 2017.12.14 |
데이터 시각화 프로그래밍16 - Matplotlib 애니메이션 (0) | 2017.12.14 |
데이터 시각화 프로그래밍15 - 서브플롯 활용하기 (0) | 2017.12.14 |
데이터 시각화 프로그래밍14 - 그래프에 주석 달기 (0) | 2017.12.14 |