본문 바로가기

BLOG/데이터분석

[데이터분석] plotly : 막대 그래프 간단하게 만드는 방법

 

matplotlib은 그래프를 쉽고 간단하게 그려주는 라이브러리로 유명한데요, plotly 라이브러리 역시 그래프를 쉽고 간단하게 그래프를 그려주고, 특히 깔끔하고 예쁘게 그래프를 그릴 수 있다는 점으로 많이 사용되는 라이브러리입니다.

 

이번 글에서는 plotly 를 이용하여 가장 기본적인 막대 그래프를 간단하게 만드는 방법에 대해서 살펴보도록 하겠습니다.

 

 

1. 리스트 데이터를 이용해서 그래프 그리기 

plotly로 그래프를 그릴 때, 필요한 데이터는 리스트 또는 데이터프레임의 형식으로 입력할 수 있는데요, 먼저 리스트를 이용해서 그래프를 그리는 방법에 대해서 설명하겠습니다.

 

먼저 예를 들어, 연도별 가격의 변화를 그래프로 나타내기 위해, 다음과 같은 리스트가 있다고 가정해보겠습니다.

 

year = [2017, 2018, 2019, 2020, 2021]
price = [5000, 5000, 5500, 6500, 7000]

 

그리고나서, 위 리스트로 연도별 가격의 변화를 나타내는 그래프를 만들어보도록 하겠습니다.

 

import plotly.express as px

fig = px.bar(x=year, y=price, height = 500  , width = 1000)
fig.show()

 

위 코드를 보면, 먼저 plotly 그래프를 사용하기 위해 plotly 라이브러리를 설치해주고, 이를 px로 지정해주었습니다.

그리고나서 막대그래프를 그리기 위해 px.bar() 를 사용했고, 함수 안에 x축 데이터, y축 데이터, 그리고 그래프의 높이, 넓이에 해당하는 값을 인자로 넣어주었습니다.

마지막으로 설정한 그래프를 show() 함수를 통해 보여지도록 했습니다.

 

그 결과 아래와 같은 그래프가 출력되는 것을 확인할 수 있습니다.

 

 

 

2. 데이터프레임을 이용해서 그래프 그리기 

반면, 데이터프레임을 이용해서 그래프를 그릴 수 있는데요, 아래와 같은 데이터프레임(df)이 있다고 가정해보겠습니다.

 

	item	count	price	rating
0	coffee	1	3000	4.5
1	juice	5	4000	3.0
2	ade	2	5000	4.0
3	milk	1	3000	2.5
4	tea	3	4000	3.0
5	water	2	1000	4.5

 

위 데이터프레임에서 'item'에 따른 'price'를 나타내는 그래프를 그려보도록 하겠습니다.

 

import plotly.express as px
fig = px.bar(df, x='item', y='price', height = 500  , width = 1000)
fig.update_xaxes(type='category')
fig.show()

 

두 번째 줄 코드를 보면, 이번에는 px.bar() 함수 안에 데이터프레임, x축 데이터와 y축 데이터는 '칼럼명' 으로 입력되었습니다. 세 번째 줄은 그리드를 지정하는 코드로 생략해도 됩니다.

마지막 코드까지 입력하면 다음과 같은 그래프가 출력됩니다.

 

출력된 그래프를 보면, 데이터프레임에서 'item' 칼럼의 항목마다 'price' 칼럼에서의 데이터 값이 잘 출력되었음을 확인할 수 있습니다.