Plotly Pie Chart 배우기

상후·2025년 6월 18일

Plotly 정리

목록 보기
10/18
post-thumbnail

시작하기 전에 import 하기

import plotly.express as px
import plotly.graph_objects as go
import plotly.express as px
import numpy as np

Pie Chart는 파이 차트는 하나의 원을 여러 영역 또는 조각으로 나눈 원그래프입니다. 각 조각은 해당 변수에 대한 한 수준의 관측치 개수 또는 백분율을 나타냅니다.
Plotly를 활용하여 Pie Chart 를 그리는 방법에 대해 알아보도록 하겠습니다.
Keyword : Plotly Pie Chart, Plotly 파이차트, px.pie, go.Pie, Plotly doughnut chart, Plotly 도넛차트


Express를 활용한 기본 사용방법

fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'])
# 데이터셋을 활용한 입력)
fig = px.pie(data_frame = df, values='tip', names='day')

[사용 함수]
px.pie()
[함수 input 내용]
데이터 직접 입력
values = 영역 별 갯수 또는 비율 리스트
names = 영역 라벨 또는 이름
데이터셋을 활용한 입력
data_frame = pandas 데이터 프레임
values = 영역 별 갯수 또는 비율 리스트
names = 영역 라벨 또는 이름

예제 1 (직접입력)

import plotly.express as px
fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'])
fig.show()

예제 2 (데이터셋을 활용한 입력)

import plotly.express as px
# 데이터 불러오기
df = px.data.tips()
fig = px.pie(df, values='tip', names='day')
fig.show()


graph_objects를 활용한 기본 사용

fig.add_trace(go.Pie(labels=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'], values=[4500, 2500, 1053, 500]))

[사용 함수]
fig.add_trace() : Trace를 추가할때 사용
go.Pie() : fig.add_trace() 안에 넣은 Bar Trace
[함수 input 내용]
values = 영역 별 갯수 또는 비율 리스트
labels = 영역 라벨 또는 이름 ( 주의! express는 names)

예제

import plotly.graph_objects as go
# Figure  생성
fig = go.Figure()
# Bar Trace 추가
fig.add_traces(go.Pie(labels=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'], values=[4500, 2500, 1053, 500]))
fig.show()


도넛 모양 Pie Chart 만들기

Pie 차트 가운데 구멍이 뚤린 도넛모양의 Pie Chart를 표현하려면 아래의 코드를 추가해야 합니다.

fig.update_traces(hole= 구멍크기)

[사용 함수]
fig.update_traces()
[함수 input 내용]
hole : 구멍크기

예제

import plotly.express as px
fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'])
fig.update_traces(hole=.3)
fig.show()


조각 별로 띄우기

Pie Chart를 각 조각별로 띄워서 강조를 하기 위해서는 아래 코드를 추가해야 합니다.

fig.update_traces(pull= 조각별 거리 리스트)

[사용 함수]
fig.update_traces()
[함수 input 내용]
pull: 조각 별 거리를 순서대로 리스트 형태로 넣습니다.

예제

import plotly.express as px
fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'])
fig.update_traces(pull=[0, 0, 0.2, 0])
fig.show()


내부 텍스트 편집

Pie Chart의 내부에 정보를 나타내는 텍스트 편집 방법은 아래와 같습니다.

fig.update_traces(textinfo = 텍스트 내용,
                textfont_size = 텍스트 사이즈,
                textfont_color = 텍스트 색,
                textfont_family = 텍스트 서체,
                textposition = 텍스트 위치)

[사용 함수]
fig.update_traces()
[함수 input 내용]
textinfo : 텍스트 내용
label : 해당 조각의 레이블값
percent : 해당 조각의 퍼센테이지 값
value : 해당 조각의 데이터값
이 모든것을 + 를 통해 같이 표시가 가능합니다
예시) 'label+percent+value' , 'percent+value' 등등
textfont_size: 텍스트 사이즈를 지정합니다.
textfont_color: 텍스트 색을 지정합니다.
textfont_family : 텍스트 서체를 지정합니다.
textposition: {"inside" , "outside", "auto"} 텍스트 위치를 지정합니다. - inside : 막대 안쪽에 위치합니다. - outside : 막대 바깥쪽에 위치합니다. - auto : 자동으로 위치를 지정합니다.

예제

import plotly.express as px
fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'])
fig.update_traces(textposition='outside',textinfo='label+percent+value', textfont_size=20,textfont_color="black")
fig.show()


Pie 스타일 편집

Pie Chart의 전체적인 스타일을 편집하는 방법입니다.

fig.update_traces(marker_colors= 조각별 색 리스트,
                marker_line_color = 조각 테두리 색,
                marker_line_width = 조각 테두리 두깨)

[사용 함수]
fig.update_traces()
[함수 input 내용]
marker_colors: 조각별 색 리스트로 plotly colormap 사용이 가능합니다.
marker_line_color : 조각 테두리 색.
marker_line_width : 조각 테두리 두깨.

예제

import plotly.express as px
fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen'])
fig.update_traces(marker_colors =px.colors.sequential.RdBu , marker_line_color= "black",marker_line_width = 2)
fig.show()


profile
개발자를 꿈꾸는 학생

0개의 댓글