시작하기 전에 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 도넛차트
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 = 영역 라벨 또는 이름
import plotly.express as px fig = px.pie(values=[4500, 2500, 1053, 500], names=['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen']) fig.show()
import plotly.express as px # 데이터 불러오기 df = px.data.tips() fig = px.pie(df, values='tip', names='day') fig.show()
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 차트 가운데 구멍이 뚤린 도넛모양의 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 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()