다양한 평면에 2D 막대 그래프 생성

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 2D 막대 그래프가 다른 평면에 투영된 3D 플롯을 만드는 방법을 배웁니다. Python 의 Matplotlib 라이브러리를 사용하여 시각화를 생성합니다. 이 랩은 Python 구문과 Matplotlib 라이브러리에 대한 기본적인 이해를 가정합니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.

학습 중에 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

라이브러리 임포트

이 랩에 필요한 라이브러리를 먼저 임포트합니다. NumPy 라이브러리를 사용하여 임의의 데이터를 생성하고, Matplotlib 라이브러리를 사용하여 3D 플롯을 생성합니다.

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(19680801)

Figure 및 Subplot 생성

다음으로, 3D 플롯을 위한 figure 와 subplot 을 생성합니다. add_subplot() 메서드를 사용하여 3D 투영 (projection) 을 생성합니다.

fig = plt.figure()
ax = fig.add_subplot(projection='3d')

막대 그래프 데이터 생성

이제 막대 그래프에 대한 데이터를 생성합니다. 각 20 개의 값을 가진 네 개의 데이터 세트를 생성합니다. NumPy 의 arange() 메서드를 사용하여 20 개의 값 배열을 생성하고, NumPy 의 random.rand() 메서드를 사용하여 각 데이터 세트에 대한 임의의 값을 생성합니다.

colors = ['r', 'g', 'b', 'y']
yticks = [3, 2, 1, 0]
for c, k in zip(colors, yticks):
    xs = np.arange(20)
    ys = np.random.rand(20)

막대 그래프 사용자 정의

이제 막대 그래프를 사용자 정의합니다. 색상 배열을 생성하고 bar() 메서드를 사용하여 막대 그래프를 플롯합니다. zdir 매개변수를 'y'로 설정하여 막대 그래프를 y 축 평면에 투영합니다. 또한 alpha 매개변수를 0.8 로 설정하여 막대의 투명도를 조정합니다.

    cs = [c] * len(xs)
    cs[0] = 'c'
    ax.bar(xs, ys, zs=k, zdir='y', color=cs, alpha=0.8)

축 사용자 정의

이제 3D 플롯의 축을 사용자 정의합니다. set_xlabel(), set_ylabel(), 및 set_zlabel() 메서드를 사용하여 각각 x, y, z 축의 레이블을 설정합니다. 또한 set_yticks() 메서드를 사용하여 y 축의 눈금을 설정합니다.

ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.set_yticks(yticks)

플롯 표시

show() 메서드를 사용하여 3D 플롯을 표시합니다.

plt.show()

요약

이 랩에서는 Python 의 Matplotlib 라이브러리를 사용하여 서로 다른 평면에 투영된 2D 막대 그래프로 3D 플롯을 만드는 방법을 배웠습니다. 무작위 데이터를 생성하고 플롯의 막대 그래프와 축을 사용자 정의했습니다. 그런 다음 show() 메서드를 사용하여 플롯을 표시했습니다.