์๋ ํ์ธ์ ํฌ๋ฆฌ๋ฅ์ค์๋ผ์ด์ค์ ๋๋ค.
์ค๋์ ๊ฐ๋จํ๊ฒ pyecharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ์ฐํฌ๋๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
๋ฐ์ดํฐ๋ 2022 ์์ฆ KBO ํ์์๋ฅผ ์ฌ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ต๋๋ค.
# ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
import pandas as pd
from pyecharts.charts import Bar, Line, Scatter
from pyecharts import options as opts
๋ค์ ๋ช ๋ น์ด๋ก ์ฐํฌ๋ ๊ทธ๋ํ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
m = (
Scatter()
.add_xaxis(list(kbo["ํ๋ช
"])) # x๊ฐ -> ์ง์ ๊ฐ์ ์ฝ์
.add_yaxis("์น๋ฅ ", list(kbo["์น๋ฅ "])) # y๊ฐ
.set_global_opts(
title_opts=opts.TitleOpts(title="2022 KBO"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render_notebook()
)
m
๋นจ๊ฐ์์ด ๋ณ๋ก ์ ์์์๋ฉด, ๋ค์๊ณผ ๊ฐ์ด y๊ฐ์ ๋ฒ์์ ๋ฐ๋ผ ์์์ ๋ฒ์๋ฅผ ์ง์ ํ ์๋ ์์ต๋๋ค.
์ผ์ชฝ ํ๋จ์ ์คํฌ๋กค ๋ถ๋ถ์ ์กฐ์ ํด ์ฃผ๋ฉด ํด๋น ์์ญ์ ๊ฐ๋ค๋ง ์ถ๋ ฅ๋๊ฒ ๋ฉ๋๋ค.
m = (
Scatter()
.add_xaxis(list(kbo["ํ๋ช
"]))
.add_yaxis("์น๋ฅ ", list(kbo["์น๋ฅ "]))
.set_global_opts(
title_opts=opts.TitleOpts(title="2022 KBO"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
visualmap_opts=opts.VisualMapOpts(max_=1, min_ = 0) # max์ min์ ์ ์ค์ ํด ์ฃผ์ธ์.
)
.render_notebook()
)
m
๊ทธ๋ํ์ ์๊ฐ์ ํจ๊ณผ๋ฅผ ๋ ์ฃผ๊ณ ์ถ์ผ์๋ค๋ฉด, y๊ฐ์ ๋ฐ๋ผ ์ ์ ํฌ๊ธฐ๋ฅผ ๋ค๋ฅด๊ฒ ์ง์ ํด ์ค ์๋ ์์ต๋๋ค.
m = (
Scatter()
.add_xaxis(list(kbo["ํ๋ช
"]))
.add_yaxis("์น๋ฅ ", list(kbo["์น๋ฅ "]))
.set_global_opts(
title_opts=opts.TitleOpts(title="2022 KBO"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
visualmap_opts=opts.VisualMapOpts(type_="size", max_=1, min_=0),
)
.render_notebook()
)
m
์์๊ณผ ์ ์ฌํ๊ฒ, ์ผ์ชฝ ํ๋จ์ ์คํฌ๋กค๋ก ๋ฒ์๋ฅผ ์ค์ ํด ์ค ์๋ ์์ต๋๋ค.
๋ํ, ์ฐํฌ๋์ ๋ค์ํ ํจ๊ณผ๋ค์ ์ถ๊ฐํด ์ค ์๋ ์์ต๋๋ค.
(๊ทธ๋ํ์ ์ ์ด ์ฌ์ด๋ ์ฒ๋ผ ์์ง์ ๋๋ค.)
from pyecharts.charts import EffectScatter
m = (
EffectScatter() # ์ด ๋ถ๋ถ์ด Scatter()์์ EffectScatter()๋ก ๋ณ๊ฒฝ
.add_xaxis(list(kbo["ํ๋ช
"]))
.add_yaxis("์น๋ฅ ", list(kbo["์น๋ฅ "]))
.set_global_opts(
title_opts=opts.TitleOpts(title="2022 KBO"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render_notebook()
)
m
์ ๋ชจ์์ด ์ง๋ฆฌ์ ๋ค๋ฉด symbol ์ต์ ์ผ๋ก ๋ค์ํ ๋ชจ์ ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํฉ๋๋ค.
(ARROW ์ธ์ DIAMOND, RECT, ROUND_RECT, TRIANGLE ์ ์ฌ์ฉํ์ค ์ ์์ต๋๋ค.)
m = (
EffectScatter()
.add_xaxis(list(kbo["ํ๋ช
"]))
.add_yaxis("์น๋ฅ ", list(kbo["์น๋ฅ "]), symbol=SymbolType.ARROW)
.set_global_opts(
title_opts=opts.TitleOpts(title="2022 KBO"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
)
.render_notebook()
)
m
์ด๋ฒ ์ฐํฌ๋ ๊ทธ๋ํ๋ ์ฌ๊ธฐ๊น์ง ์ ๋ฆฌํด ๋ณด์์ต๋๋ค.
๋ค์์๋ ์ฌ๋ฐ๋ ์๊ฐํ ์๋ฃ๋ฅผ ๊ฐ์ ธ์ค๋๋ก ํ๊ฒ ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
'๋ฐ์ดํฐ ์๊ฐํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
pyecharts๋ก ํ์ด ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ (1) | 2023.01.29 |
---|---|
pyecharts๋ก ์ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ (0) | 2023.01.27 |
pyecharts๋ก ๋ง๋ ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ (0) | 2023.01.26 |
Plotly - ๋ง๋๊ทธ๋ํ (0) | 2021.08.19 |