본문 바로가기

카테고리 없음

파이썬 Plotly 버블 차트 그리기 (Bubble charts)

Plotly 라이브러리를 이용해서 버블 차트를 그리는 방법을 알아보겠습니다. 이번에는 그동안의 포스팅과는 다르게 plotly.express라는 비교적 최근 기능을 활용하겠습니다. plotly.express는 사용이 쉽고 빠르게 그래프를 그릴 수 있다는 장점이 있습니다. 다만 아직은 기존의 방법과 비교하면 세부적인 설정까지는 지원되지 않는 부분이 있습니다. 

 

하지만 확실히 편합니다. 그리고 버블 차트는 특히 더 그렇고요.

 

기본 버블 차트 그리기 (plotly.express 사용) 

우선 라이브러리를 불러온 다음 샘플 데이터를 만듭니다. 

 

# 플랏리 익스프레스 라이브러리를 불러옵니다.
import plotly.express as px
# 샘플 데이터를 불러옵니다.
df = px.data.gapminder()
# 상위 5행을 출력합니다.
df.head()

 

 

그래프는 아래와 같이 매우 짧은 코드로 손쉽게 만들 수 있습니다. 2007년 대륙별 나라별 "gdp/인구", "기대 수명"을 나타내는 버블 차트입니다.

 

fig = px.scatter(data_frame=df[df['year'] == 2007], x='gdpPercap', y='lifeExp', color='continent', hover_name='country')
fig.show()

 

 

특정 값에 따라 버블 크기를 다르게 그리기 

plotly.express의 장점은 고급 기능을 짧은 코드로 사용할 수 있게 해 준다는 점입니다. 예를 들어 버블 차트에서 각각의 버블 크기를 다르게 만들고 싶다면 size='크기 기준이 되는 칼럼명'을 추가하면 끝입니다. 그러면 plotly가 알아서 각각의 버블 크기를 조정해줍니다. 만약 그려진 버블의 크기가 작다고 생각되면 버블의 최대 크기를 조절하면 됩니다. 

 

fig = px.scatter(data_frame=df[df['year'] == 2007], x='gdpPercap', y='lifeExp', color='continent', hover_name='country', size='pop', size_max=50)
fig.show()

 

 

 

- 이 글은 아나콘다(Anaconda3)가 설치된  주피터 노트북에서 작성되었습니다.