Plotly로 Bubble 차트 만들기를 연습합니다. 연습을 위한 데이터는 Plotly Express에서 제공하는 데이터를 사용합니다. gapminder.org에서 제공하는 데이터를 데이터프레임으로 불러옵니다. 데이터 구조를 확인하기 위해서 처음 3개의 데이터를 확인하겠습니다.
import plotly.express as pxdf = px.data.gapminder()df.sample(3)
country
continent
year
lifeExp
pop
gdpPercap
iso_alpha
iso_num
1166
Pakistan
Asia
1962
47.670
53100671
803.342742
PAK
586
1333
Serbia
Europe
1957
61.685
7271135
4981.090891
SRB
688
1589
Uganda
Africa
1977
50.350
11457758
843.733137
UGA
800
여러 국가에 대한 정보를 연도별로 정리한 데이터입니다. 대한민국에 대한 데이터를 살펴보면 좀 더 의미있고 재미있는 시각화가 될 것 같습니다. country컬럼의 값이 Korea, Rep.인 데이터만 추출합니다.
버블차트를 살펴보면 1950년, 1970년 이후 기대수명이 크게 올라가는 것을 알 수 있습니다. 추가로 버블의 크기를 통해서 인구 증가폭이 2007년에 가까워 지면서 인구수의 변화가 작아짐을 알 수 있습니다.
버블차트 색상 설정하기
버블차트는 버블의 크기와 색상으로 각각 정보를 표현할 수 있습니다. 이번엔 버블에 색상을 추가하여 총 4개의 정보를 표현합니다. 각 컬럼정보gdpPercap은 1인당 GDP를 의미하고 lifeExp는 기대 수명을 의미합니다. 1인당 GDP 변화에 따른 기대수명과 인구를 대륙별로 비교합니다.
우선 색상으로 대륙별 기대수명과 인구를 비교할 수 있습니다. 초록색의 아프리카 대륙은 좌측 하단에 주로 위치하고 있어 인구수와 기대수명이 낮을 것을 알 수 있습니다. 아시아 국가는 버블의 크기도 다양하고 1인당 GDP도 넓은 분포를 보여주고 1인당 GDP가 높은 국가로는 일본, 한국, 싱가포르등이 있는 것을 알 수 있습니다.