본문 바로가기
프로그래밍 및 개발/Python

[python] Plotly로 데이터 시각화 만들기

by typenine9 2023. 4. 12.
300x250

 

Plotly로 데이터 시각화 만들기

 

오늘날의 데이터 중심 세상에서 데이터를 시각화하는 능력은 점점 더 중요해지고 있다. 대화형 데이터 시각화를 만드는 것은 모든 데이터 분석가 또는 데이터 과학자의 핵심 기술이며 Plotly는 이를 달성하는 데 도움되는 강력한 도구라 생각한다.

 


Plotly는 캐나다 퀘벡 몬트리올에 본사를 두고있는 컴퓨팅 기술 회사로 온라인 데이터 분석 및 시각화 툴을 개발하고 있다. 플로틀리는 Python, R, MATLAB, Perl, Julia, Arduino 및 REST 용 과학 그래프 라이브러리 뿐만 아니라 개인 및 협업을 위한 온라인 그래프, 분석 및 통계 툴도 제공하고 있다. 이 글에서 소개할 Plotly는 python을 통해 시각화 라이브러리로 사용해볼 것이다. 이를 활용하면 사용자는 쉽게 공유하고 웹 사이트 및 문서에 포함할 수 있는 멋진 시각화를 만들 수 있다. Plotly를 사용하면 사용자는 다른 유형의 시각화 중에서 차트, 지도 및 대시보드를 만들 수 있다.

 

Plotly의 주요 기능 중 하나는 대규모 데이터 세트를 쉽게 처리할 수 있다는 것이다. 스트리밍 데이터에 대한 지원 기능이 내장되어 있어 사용자가 시각화를 실시간으로 업데이트할 수 있다. 이는 데이터가 지속적으로 변경되는 금융 및 스포츠와 같은 분야에서 특히 유용하게 사용된다.

 

 

아래 코드는 Plotly를 사용하여 산점도를 만드는 예제 코드다.

 

import pandas as pd
import plotly.express as px

# create a sample DataFrame
df = pd.DataFrame({
    'x_data': [1, 2, 3, 4, 5],
    'y_data': [10, 20, 30, 40, 50],
    'category': ['A', 'B', 'C', 'D', 'E'],
    'value': [100, 200, 300, 400, 500]
})

# add additional columns to the DataFrame
df['additional_data_1'] = ['a', 'b', 'c', 'd', 'e']
df['additional_data_2'] = [True, False, True, False, True]

# create the scatter plot with hover data
fig = px.scatter(df, x='x_data', y='y_data', color='category', size='value',
                 hover_data=['additional_data_1', 'additional_data_2'])

# show the plot
fig.show()

 

위 코드는 먼저 'x_data', 'y_data', 'category' 및 'value' 열이 있는 샘플 DataFrame 'df'를 만듭니다. 그런 다음 df['column_name'] = column_values 표기법을 사용하여 DataFrame에 'additional_data_1' 및 'additional_data_2' 열을 추가한다.

마지막으로 'px.scatter' 함수를 사용하여 산점도를 만들고 해당 인수를 사용하여 x, y, 색상, 크기 및 호버 데이터에 사용할 열을 지정한다. 이 경우 'hover_data' 인수를 사용하여 호버 데이터에 대해 'additional_data_1' 및 'additional_data_2' 열을 사용하도록 지정후 실행하면 아래와 같은 결과 창이 나온다.

 

데이터 시각화를 만드는 것은 대규모 데이터 세트의 패턴과 경향을 더 잘 이해할 수 있게 해주기 때문에 데이터 분석 프로세스의 필수적인 부분이 되었다. 그리고 Plotly의 도움으로 데이터 시각화를 만드는 것이 그 어느 때보다 쉬워졌다.

 

그러나 효과적인 데이터 시각화를 만드는 것에 필요한 것은 사용하는 도구에 관한 것만이 아니다. 작업 중인 데이터와 전달하려는 프로세스에 대한 깊은 이해가 필요하다. 작업자는 본인 스스로에게 물어봐야 한다. 내가 전달하고 싶은 핵심 통찰력은 무엇이며 이를 위해 시각화를 어떻게 사용해야 하는지에 대해서.

<