[부동산|3|Plotly] 부산시 미분양 아파트 현황 - Plotly 시각화
Plotly 시각화
fig = make_subplots(
rows=3, cols=2,
shared_xaxes=True,
vertical_spacing=0.03,
specs=[[{"type": "table", "colspan":2},None],
[{"type": "bar"}, {"type": "domain"}],
[{"type": "bar"}, {"type": "domain"}]
])
fig.add_trace(
go.Table(
header=dict(
values=["구", "동", "상세주소", "전용면적(M2)", "시공사", "시행사", "준공여부",
"민간/공공","임대/분양", "총분양가구수", "미분양가구수", "입주예정월",],
font=dict(size=10),
align="center"
),
cells=dict(
values=[df[k].tolist() for k in df.columns[0:12]],
align = "right")
),
row=1, col=1)
조금 달라진 부분은 specs 부분인데요. 3D scatter plot을 (2,2) 및 (2,3)의 위치에 배치하고자 type을 scene으로 배정하였던 것을 이번에는 domain으로 변경하였습니다. Plotly에서 pie chart는 domain의 type으로 분류토록 하고 있습니다.
type과 관련하여 그 내용을 참조하실 수 있도록 plotly에서 제공하는 아래의 공식참조 정보를 참고하시면 되겠습니다.
- Each item in 'specs' is a dictionary.
The available keys are:
* type (string, default 'xy'): Subplot type. One of
- 'xy': 2D Cartesian subplot type for scatter, bar, etc.
- 'scene': 3D Cartesian subplot for scatter3d, cone, etc.
- 'polar': Polar subplot for scatterpolar, barpolar, etc.
- 'ternary': Ternary subplot for scatterternary
- 'mapbox': Mapbox subplot for scattermapbox
- 'domain': Subplot type for traces that are individually
positioned. pie, parcoords, parcats, etc.
- trace type: A trace type which will be used to determine
the appropriate subplot type for that trace
이제 이번에 추가하기로 한 pie chart에 관한 코드를 보시겠습니다.
fig.add_trace(go.Pie(labels = ['분양완료가구수','미분양가구수'],
values =[df['총분양가구수'].sum(), df['미분양가구수'].sum()], title="전체미분양가구수비율",
titleposition='bottom center', pull=[0,0.1], showlegend=False), row=2, col=2)
fig.add_trace(go.Pie(labels=['준공완료후분양완료가구수','준공완료후미분양가구수'],
values=[df5['총분양가구수'].sum(), df5['미분양가구수'].sum()],
title="준공완료후전체미분양가구수비율",
titleposition='bottom center', pull=[0,0.1], showlegend=False), row=3, col=2)
Pie chart의 다양한 설정에 관해서는 아래의 포스팅에서 자세하게 다루었었는데요. 이번 표시에서도 그 범위를 크게 벗어나지 않기 때문에 자세한 사용방법은 참조하실 수 있도록 링크를 아래 걸어 놓도록 하겠습니다.
[무역|8|Plotly] 향수 수출입 - Pie Chart 라벨표시, Donut chart로 변환, 특정섹터 띄우기
다만, parameter 몇가지만 간단히 언급하고 넘어 가겠습니다.
(1) pull
특정한 섹터를 띄울 때 사용됩니다. Pie chart에서 특정 섹터만 원래의 구형에서 분리하여 띄우기 때문에 강조하여 보여지는 효과가 있습니다.
(2) labels
이 인자에서 설정한 라벨값은 hovering data에서 표시되며, 범주에서도 그 값이 활용됩니다.
(3) values
Plotly pie chart에서는 그 값을 정수로 제공하더라도 표시값을 % 로 환산하여 chart를 그려 줍니다.
제시된 코드에서는 pandas DataFrame의 sum()메소드를 활용하여 raw data상 전체 분양가구수의 합계와 미분양가구수 합계값을 제공토록 한 것이며, 정수로 제공됩니다.
하지만, plotly는 이를 다시 값 간의 상대적인 비율을 계산하여 % 로 표시하게 됩니다.
(4) showlegend
범례를 표시할 지 여부를 설정합니다.
make_subplots()에 의해 한 화면에 구성되는 차트가 다양하여 범례가 많으면 헷갈리기 쉽습니다. 구분이 용이하거나, hovering data를 통해 그 값이 쉽게 확인될 수 있는 차트에 대해서는 범례가 생략될 수 있도록 하는 것이 좋습니다.
(5) titleposition
pie chart의 제목을 어느 위치에 둘지 설정합니다. 'bottom center'는 pie chart 의 중앙 하단부에 제목을 위치하게 합니다.
그럼 이제 시각화 결과물을 확인해 보겠습니다.
pie chart의 hovering data까지 모두 정상적으로 잘 표출되는 것이 확인됩니다.
다음 포스팅에서는 위도, 경도 정보를 활용하여 mapbox로 지도시각화를 진행해 보도록 하겠습니다.
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) > 부산시 미분양 아파트 현황' 카테고리의 다른 글
[부동산|3|Plotly] 부산시 미분양 아파트 현황 - Plotly 통계 및 지도 시각화 (0) | 2020.08.20 |
---|---|
[부동산|3|Plotly] 부산시 미분양 아파트 현황 - Plotly mapbox 시각화 (0) | 2020.08.20 |
[부동산|3|Plotly] 부산시 미분양 아파트 현황 (0) | 2020.08.20 |