작성일자 : 2024-10-12
Ver 0.1.1
참고 사이트 : wiki docs
Plotly의 각각의 그래프 생성방법에(express, graph_object ) 따라 타이틀 설정이 다르니다.
이번 포스팅에서는 각각의 타이틀 생성 방법에 대해 알아보고, 생성방법과 무관하게 모두에서 사용할수있는 title 생성 방법에 대해서도 알아본다. 또한 타이틀 위치지정, 폰트 스타일(크기, 색, 서체) 설정 방법에 대해 알아보겠다.
Keyword : Plotly Title, Plotly Title size, Plotly Title position, Plotly Title font, Plotly 타이틀, Plotly 타이틀 크기, Plotly 타이틀 위치, Plotly 타이틀 폰트
express 그래프
import plotly.express as px
fig = px.bar(x=["a", "b", "c"], y=[1, 3, 2], title="Title 설정하기")
fig.show()
px.그래프 함수 안에 title = "타이틀" 을 추가하여 생성한다.
타이틀 설정이 쉽지만 타이틀 위치, 폰트 스타일등의 세세한 조정은 바로 설정이 불가능하다.
graph_object 그래프
import plotly.graph_objects as go
fig = go.Figure(
data=[go.Bar(x=[1, 2, 3], y=[1, 3, 2])],
layout=go.Layout(title=go.layout.Title(text="Title 설정하기")))
fig.show()
go.Figure 함수의 layout에 go.Layout(title=go.layout.Title(text="타이틀")) 을 추가하여 생성한다.
두가지를 모두 커버 하는 방법
fig.update_layout(title_text="타이틀 입력")
[사용 함수]
- fig.update_layout ()
fig.update_layout() 은 그래프 생성 완료 후 layout 정보를 업데이트 해주는 함수이다.
[함수 input 내용]
- title_text = 타이틀 text 입력
예제) express , graph_objects 방법에서 동일한 방법으로 작성
# express 방법
import plotly.express as px
fig = px.bar(x=["a", "b", "c"], y=[1, 3, 2])
fig.update_layout(title_text="타이틀 설정하기")
fig.show()
# graph_objects 방법
import plotly.graph_objects as go
fig = go.Figure(data=[go.Bar(x=[1, 2, 3], y=[1, 3, 2])])
fig.update_layout(title_text="타이틀 설정하기")
fig.show()
위치 지정
fig.update_layout(
title_x = (0~1) 사이값
title_y = (0~1) 사이값
title_xanchor = (`auto","left","center","right")
title_yanchor = ("auto","top","middle","bottom")
})
[사용 함수]
- fig.update_layout ()
[함수 input 내용]
- title_x = 가로 축의 좌표로 0은 맨 왼쪽 1은 맨 오른쪽을 뜻함
- title_y = 세로 축의 좌표로 0은 맨 아래 1은 맨 윗쪽을 뜻함
- title_xanchor = 좌표를 중심으로 타이틀을 왼쪽, 또는 가운데, 오른쪽에 놓을지 설정
- title_yanchor = 좌표를 중심으로 타이틀을 위에, 또는 가운데, 아래에 놓을지 설정
예제)
import plotly.express as px
fig = px.bar(x=["a", "b", "c"], y=[1, 3, 2], title="Title 설정하기")
# 타이틀 위치 설정부분
fig.update_layout(
title_x = 0.5,
title_y = 0.9,
title_xanchor = "center",
title_yanchor = "middle")
fig.show()
포트 스타일 지정(크기, 색, 서체)
fig.update_layout(
title_font_size = 폰트 사이즈
title_font_color = "색 지정"
title_font_family = "폰트 지정"
)
[사용 함수]
- fig.update_layout ()
[함수 input 내용]
- title_font_size = 폰트 사이즈를 숫자로 입력
- title_font_color = 원하는 색을 지정
- title_font_family =HTML font family로 plotly를 구동하는 web browser에서 지원하는 폰트를 지원. 몇가지 대표적인 폰트는 아래와 같다.
1) family-font: 우리가 일반적으로 알고 있는 특정 글꼴
ex) Georgia, arial, 나눔고딕, 궁서, 굴림, Times New Roman, Times, 등
2) generic-font: 비슷한 모양의 글꼴 집합
family-name으로 지정된 글꼴을 사용할 수 없는 경우 브라우저가 비슷한 스타일로 대체 할 수있도록 선언해주는 폰트
ex) serif, sans-serif, monospace, cursive, fantasy
- serif : 삐침 있는 명조계열의 글꼴 모음
- sans-serif : 삐침 없는 고딕계열의 글꼴 모음
- cursive : 손 필기체 같은 느낌의 글꼴 모음
- -monospace : 글자 폭과 간격이 일정한 글꼴 모음
- fantasy : 위 폰트들을 제외한 나머지 화려한 글꼴 모음
출처 : (https://jigeumblog.tistory.com/39)
예제)
import plotly.express as px
fig = px.bar(x=["a", "b", "c"], y=[1, 3, 2], title="Title 설정하기")
fig.update_layout(
# 타이틀 위치 설정 부분
title_y = 0.9,
title_x = 0.5,
title_xanchor = 'center',
title_yanchor ='middle',
# 폰트 스타일 추가 부분
title_font_size = 25,
title_font_color = "red",
title_font_family = "Times")
fig.show()