본문 바로가기

코딩TIPS

[plotly] y축 범위 및 이중축 범위 지정(y range, secondary)

반응형

plotly의 그래프의 y축 범위를 지정해 보겠습니다.

 

필요라이브러를 import 합니다.

import plotly.graph_objects as go
from plotly.subplots import make_subplots
import plotly.express as px

plotly에서 기본 제공하는 stocks data를 불러옵니다.

df=px.data.stocks()
df.head(3)

 

 

기본 그래프를 그려보겠습니다.

fig = px.line(x=df['date'], y=df['AAPL'])
fig.show()

 

y 축 범위를 0~2로 지정해 보겠습니다.

fig = px.line(x=df['date'], y=df['AAPL'])
fig.update_yaxes(range=[0,2])
fig.show()

 

반응형

 

 

이중축 그래프에서도 활용이 가능합니다.

우선 이중축 그래프를 그리겠습니다.

fig = make_subplots(specs=[[{"secondary_y":True}]])

# Add traces
fig.add_trace(
    go.Scatter(x=df['date'], y=df['AAPL'], name="Apple"),
    secondary_y=False,
)

fig.add_trace(
    go.Scatter(x=df['date'], y=df['NFLX'], name="Netflix"),
    secondary_y=True,
)

fig.show()

 

 

y축 각각 범위를 지정하겠습니다.

아래와 같이 fig.update_yaxes에 secondary를 지정해 주고, 범위를 넣어주시면 됩니다.

fig = make_subplots(specs=[[{"secondary_y":True}]])

# Add traces
fig.add_trace(
    go.Scatter(x=df['date'], y=df['AAPL'], name="Apple"),
    secondary_y=False,
)

fig.add_trace(
    go.Scatter(x=df['date'], y=df['NFLX'], name="Netflix"),
    secondary_y=True,
)

fig.update_yaxes(secondary_y=False, range=[-2, 2])
fig.update_yaxes(secondary_y=True, range=[0, 4])

fig.show()

 

 

이상으로 plotly의 그래프의 y축 범위를 지정해 봤습니다.

반응형