[플레이데이터 빅데이터 부트캠프]Python 데이터 시각화 PLOTLY(2)

실습. tips 데이터를 활용해 성별과 전체 결제금액의 상관관계를 시각화해주세요.

Barplot히스토그램의 차이는 무엇인가?

히스토그램은 하나하나 쌓는게 아니라 Bar Chart처럼 한 묶음으로 표현해준다.

import plotly.express as px
df = px.data.tips()
fig = px.bar(df, x="sex", y="total_bill",color='sex')
fig

fig = px.histogram(tips, x='sex', y='total_bill, color='sex')

Bar Charts를 사용하여 세분화하여 볼 수 있다.  여기서 facet rowtime, facet coloum day이다.

즉, 점심, 저녁을 날짜별로 세분화하여 볼 수 있다.

fig = px.bar(df, x="sex", y="total_bill",
             color='smoker', barmode='group',
             facet_row='time', facet_col='day',
             category_orders={'day':['Thur', 'Fri', 'Sat', 'Sun'],
             'time':['Lunch', 'Dinner']})
fig.show()

파라미터로 데이터의 평균적인 산술치를 사용할 수 있다.

여기서는 최종 계산서 대비 팁의 평균치를 나타내준다.

fig = px.histogram(tips, x='total_bill', y='tip', histfunc='avg')
fig.show()

marginal 파라미터를 사용하면, 여분의 함수를 또 보여준다.

fig = px.histogram(tips, x='total_bill', y='tip', marginal='violin')
fig.show()

 

gap2007 데이터의 기대수명 x, 대륙 y축으로 해서 히스토그램을 만들고, 이 그래프를 잘 설명할 수 있는 부가적인 그래프를 위에 하나 더 얹어보자.

fig = px.histogram(gap2007, x= 'lifeExp', y= 'continent', histfunc='avg', marginal="box")
#marginal='violin'
fig.show()

Box Plot

fig = px.box(df, x="time", y="total_bill", points='all')
fig.show()

points = 'all' 대략적인 분포도 같이 확인시켜준다.

Violin Plot

fig = px.violin(df, x="time", y="total_bill", color='sex', box=True)
fig.show()

박스플롯과 같이 보여준다.

Pie Plot

너무 많아지면 세세하게 알아볼 수 없으므로, 사용하지 않는게 좋다.

템플릿(Templates)

템플릿 스타일도 조절할 수 있다.

pio.templates.default= 'dark'
for template in ['ggplot2', 'seaborn', 'simple_white', 'plotly',
         'plotly_white', 'plotly_dark', 'presentation', 'xgridoff',
         'ygridoff', 'gridon', 'none']:
         fig = px.scatter(gap2007,
                          x='gdpPercap', y='lifeExp', size='pop', color='continent',
                          log_x=True, size_max=40,
                          template=template, title="템플릿 종류 - %s" % template)
         fig.show()

템플릿 구성과 종류는 사용자 임의로 정할 수 있다. 멋지게 시각화해보자.