[무역|6|Plotly] 골프용품 수출입 - go.Scatter() line plot 그리기
Plotly go.Scatter()
코드를 먼저 보시겠습니다.
fig = make_subplots(rows=1, cols=1)
fig.add_trace(go.Scatter(y=y1, x=z1, name="수출실적", line=dict(dash='longdash', color='blue')))
fig.add_trace(go.Scatter(y=y2, x=z1, name="수입실적", line=dict(dash='dashdot', color='red')))
fig.add_trace(go.Scatter(y=y3, x=z1, name="무역수지", line= dict(dash='solid', shape='spline', color='green',)))
fig.update_layout(template="plotly_white", margin=dict(r=10, t=25, b=40, l=60))
fig.update_xaxes(showgrid=True, gridwidth=1, gridcolor='LightPink')
fig.update_yaxes(showgrid=True, gridwidth=1, gridcolor='LightPink', zeroline=True, zerolinewidth=2, zerolinecolor='grey')
(1) make_subplots()
이 메소드는 subplot을 만들고 싶을 때 사용됩니다. rows인자에 1, cols인자에 1이 들어 갔으므로 현재로서는 1 X 1의 1개의 subplot을 가진 그래프를 그리도록 설정하였습니다. 행으로 2개 열로 4개 .. 도합 8개짜리 subplot을 가진 그래프를 그리고 싶다면 rows 인자에 2, cols 인자에 4의 값을 주시면 되겠습니다.
(2) fig.add_trace()
여러개의 plot을 한 개의 그래프안에 넣고 싶을 때엔, add_trace()메소드를 이용해서 n개의 plot을 넣을 수 있습니다.
(3) go.Scatter(y=y1, x=z1, name="수출실적", line=dict(dash='longdash', color='blue'))
plotly.express에서는 line plot을 그리고자 할 때엔, px.line()을 이용합니다. 그리고 scatter plot을 그리고 싶다면 px.scatter()를 이용할 수 있는데요. Plotly 공식 사이트 상의 소개에 따르면, plotly.express를 원치 않을 경우 generic한 방법으로 plotly.graphic_objects(통상, 'go'로 약칭해 import 합니다.)의 go.Scatter()사용을 제시하고 있습니다.
plotly.express가 px.line()과 px.scatter()를 분리해 제시한 반면, go에서는 go.Scatter()하나로 scatter plot과 line plot을 모두 그릴 수 있다고 안내하고 있습니다.
제가 제시한 코드에서는 go.Scatter()를 사용하였습니다. line plot을 그릴 계획이라 line인자에 dictionary형태로 설정값을 주었는데요. line plot 꾸미기에 밀접한 연관이 되는 인자이기 때문에 이 코드 본문 설명을 간략히 정리하고 곧바로, plotly 공식 문서상의 안내 내용을 추가로 살펴 보도록 하겠습니다.
(4) fig.update_layout(template="plotly_white", margin=dict(r=10, t=25, b=40, l=60))
update_layout()은 tempalte 인자의 설정을 통해 미리 plotly에서 built-in 해놓은 기본 layout 설정 형상을 활용할 수 있습니다. 사용자가 직접 꾸미는 것보다 미리 설정된 값으로 꾸며지기 때문에, 코드가 매우 간략해 집니다. 맘에 드는 template으로 언제든지 값을 변경해 적용해 줄 수 있기 때문에, 그래프의 디자인 능력이 떨어지거나 아니면 세세한 코드를 만지기 귀찮은 분들에게 매우 유용한 옵션이 되겠습니다.
margin인자를 통해서는 dictionary로 값을 제공하여 상하좌우의 여백을 얼마나 줄지 조정할 수 있겠습니다.
이외 유용한 인자들에 무엇이 있겠는지 이 설명문단을 넘어가면 plotly 공식문서에 따라, 설명 드리도록 하겠습니다.
(5) fig.update_xaxes(showgrid=True, gridwidth=1, gridcolor='LightPink')
update_xaxes()는 X축을 꾸미는데 사용됩니다. showgrid인자는 X축을 따라 설정되는 세로 tick 눈금선을 설정해 줍니다. True를 주었으니, 그래프에 표시되게 됩니다. gridwidth는 눈금선의 폭을 설정하는데 쓰이고, gridcolor는 눈금선의 색을 설정해 줍니다.
(6) fig.update_yaxes(showgrid=True, gridwidth=1, gridcolor='LightPink', zeroline=True, zerolinewidth=2, zerolinecolor='grey')
update_yaxes는 Y축을 꾸미는데 사용됩니다. update_xaxes와 사용 방식은 같습니다.
추가로 zeroline이라는 인자가 설정되었는데, 이 인자는 Y축 상의 기준선이 되는 '0' line선을 꾸미는데 사용됩니다.
zeroline을 'True'로 값을 주었기 때문에, 해당 기준선이 그래프에 표시되게 됩니다.
그럼 이 코드에 의한 결과물 중 하나를 보시겠습니다.
다음 포스팅에서는 이 포스팅에서 소개된 메소드들에 사용되는 인자들에 대해 plotly 공식문서상의 내용을 토대로, 안내드리는 시간을 갖도록 하겠습니다.
NPU(엔피유) 관세사무소
대표관세사 고장주
Tel) 031-986-7190
E-mail) sales@npucus.com
[NPU관세사무소 프로모션 페이지] https://www.tradenpu.com/npu_cus/
[무역비지니스 인텔리전스 서비스 | TradeNPU] https://www.tradenpu.com
[파이썬 실용 예제. 무역과 공공데이터] https://pdatinmylife.tistory.com
Certified Customs Broker JangJu Goh
Executive Customs Broker @ NPU Customs Consulting
CEO @ JG TradePlus
sales@npucus.com
Trade Compliance / Customs clearance management at foreign company
Working experience of Air export freight forwarding
Data Visualization / Independent development of business automation application – copyright of JGPO_Manager, JG Data Center, AutoCC and etc.
B2B consignment & direct export/import, B2C Overseas Buying Office consulting
Alibaba.com B2B trade / taobao B2C trade / Amazon.com global selling etc. Online trade regulation consulting.
Import license / Quarantine
English communication available
[TradeNPU for partnership proposal - JGTP] https://www.tradenpu.com/jgtp/
'파이썬(Python) > 골프용품 수출입' 카테고리의 다른 글
[무역|6|Plotly] 골프용품 수출입 - go.Scatter() 테마사용 x축, y축 꾸미기 (0) | 2020.07.09 |
---|---|
[무역|6|Plotly] 골프용품 수출입 - go.Scatter() line plot 꾸미기 (0) | 2020.07.08 |