Matplotlib
Plotly
Plotly Express
Bokeh
Altair
최근 많이 활용되는 Interactive Vsiaulization Library는 Plotly이다.
하지만, Plotly 공부는 시간이 오래 걸려 마스터님께서 짧은 시간 내에 설명할 수
없으셨다고 한다.
따라서, 일단 Plotly Express로 간단히 배운 이후,
나중에 Plotly를 따로 공부해보도록 하자
pip install plotly statsmodelsimport plotly.express as pxfig = px.scatter({data}, x, y, size, color)

Scatter Plot의 여러 가지 Parameter
fig = px.scatter(iris,
x='sepal_length',
y='petal_length',
color='species',
marginal_y="violin",
marginal_x="box",
)
fig.show()

tradeline = 'ols' : 회귀선을 그림fig = px.scatter(iris,
x='sepal_length',
y='petal_length',
color='species',
hover_data=['sepal_width', 'petal_width'],
hover_name='species'
)
fig.show()
Bar Plot : px.bar
Line Plot : px.line
Sunburst
fig = px.sunburst({data}, path={우선순위 순서의 Feature List})
fig = px.sunburst(tips, path=['day', 'time', 'sex'])
fig.show()
"""
path에 지정한 순서대로 Sunburst Chart를 그릴 것이다.
즉, day를 기준으로 Data를 나누고, 이렇게 나눠진 Data에 대해 또 time으로
나누는 식으로 SunBurst를 그리는 것이다.
"""

fig = px.treemap({data}, path={우선순위 순서의 Feature List})
다차원 데이터를 시각화하는 방법론이다.
사실 3-Dimensional로 Data표현이 가능하지만, 그 부분은 생략하고
Multidimensional만 설명하는 이유는 아래와 같다.
(먼저 개인적인 생각임을 알고 있자...)
3-Dimensional Chart를 보면 생각보다 보기가 힘들다.
해당 Chart를 보고 든 생각은 '이럴거면 차라리 2-Dimensional Graph를
여러 개 그리겠다'라는 생각을 했다.
하지만, Multidimensional은 2차원 형태로 다차원 데이터를 시각화하기 때문에,
Feature간 연결성을 보기 더 편했던 것 같다.
예를 들어, A와 B Feature는 그렇게 관계는 없지만, A의 특정 Feature들이
C Feature에 큰 연관성을 가지고 있구나 라는 것을 잘 알아볼 수 있을 것 같았다.
따라서, 훗날 활용할 유용성을 비교해봤을 때 MultiDimensional은 조금 더 많이
활용할 수 있을 것이라고 생각했으므로, 이 부분을 조금 더 공부했다.
parallel_coordinates : Feature에서의 데이터 분포를 한 줄로 표현하고, 동일한 Data를 줄로 연결하여 Pattern을 볼 수 있음
fig = px.parallel_coordinates(iris, color="species_id")
fig.show()
# iris : data
# color : 지정한 Feature로 색을 나눠 Chart를 그림

parallel_categories : 점주형 Data를 평행한 선으로 시각화
tips = px.data.tips()
tips['sex'] = tips['sex'].apply(lambda x : 'red' if x=='Female' else 'gray')
fig = px.parallel_categories(tips, color='sex')
fig.show()
# color : 지정한 Feature에 대해 그래프를 그림.
# 이 때, 색을 지정해줌으로써(위에서는 apply로 바꿔줌) Chart 색 지정 가능

지리 데이터 시각화 방법에는 scatter_geo, choropleth가 존재한다는 것 정도만 알고 있자