pyecharts๋ก ํ์ด ๊ทธ๋ํ ๊ทธ๋ฆฌ๊ธฐ
์๋ ํ์ธ์ ํฌ๋ฆฌ๋ฅ์ค์๋ผ์ค์ ๋๋ค.
์ด๋ฒ์๋ ๊ฐ๋จํ๊ฒ pyecharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ์ด ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฌ์ฉํ ๋ฐ์ดํฐ๋ ๊ฐ๋ณ๊ฒ ํต์ ์ฌ๋ณ ์ ์ ์จ๋ก ํด๋ณด๊ฒ ์ต๋๋ค.
# ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
from pyecharts import options as opts
from pyecharts.charts import Pie
# ํต์ ์ฌ
x = ["kt", "skt", "lg", "๊ธฐํ"]
# ์ ์ ์จ
y = [35, 25, 25, 15]
ํ์ด ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ ํํ๋ก ๋ง๋ค์ด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
# ํ์ด ๊ทธ๋ํ์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ์
z = [list(i) for i in zip(x, y)]
๋ค์ ์ฝ๋๋ฅผ ํตํด ํ์ด ๊ทธ๋ํ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
p = (
Pie()
.add("", z,) # ๋ฐ์ดํฐ์
.set_global_opts(title_opts=opts.TitleOpts(title="ํ์ด ๊ทธ๋ํ")) # ์ ๋ชฉ
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) # ๋ ์ด๋ธ ํฌ๋งท
.render_notebook()
)
p
ํ์ด ๊ทธ๋ํ๋ฅผ ๋ง๋ค์๋ค๋ฉด ํฌ๊ธฐ๋ ๋ฒ๋ก๋ฅผ ์์ ํด๋ณด๊ฒ ์ต๋๋ค.
p = (
Pie()
.add("", z, radius=["10%", "70%"]) # ๊ฐ์ด๋ฐ ํฐ ์์ ํฌ๊ธฐ, ์ ์ฒด ๊ทธ๋ํ์ ํฌ๊ธฐ
.set_global_opts(title_opts=opts.TitleOpts(title="ํ์ด ๊ทธ๋ํ"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render_notebook()
)
p
ํ์ด ๊ทธ๋ํ ์์ ์๋ ๋ฒ๋ก๋ ์กฐ์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
opts.LegendOpts ํจ์์ orient๋ฅผ vertical๋ก ์ง์ ํ๋ฉด ๊ธฐ์กด์ ์ค์ ์๋จ์ ๊ฐ๋ก๋ก ์๋ ๋ฒ๋ก๊ฐ ์ธ๋ก๋ก ์กฐ์ ๋ฉ๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ๋๋ฉด ํ์ด ๊ทธ๋ํ์ ๋ฒ๋ก๊ฐ ๊ฒน์น๊ธฐ ๋๋ฌธ์ pos_top๊ณผ pos_left๋ก ์์น๋ฅผ ์กฐ์ ํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
(pos_top๋ ์/์๋ ์์น๋ฅผ, pos_left๋ ์ผ์ชฝ/์ค๋ฅธ์ชฝ ์์น๋ฅผ ๋ด๋นํ๊ณ ์์ต๋๋ค.)
p = (
Pie()
.add("", z, radius=["50%", "80%"]) # ๊ฐ์ด๋ฐ ๋๋์ ํฌ๊ธฐ, ์ ์ฒด ๋ํ์ ํฌ๊ธฐ
.set_global_opts(title_opts=opts.TitleOpts(title="ํ์ด ๊ทธ๋ํ"),
legend_opts=opts.LegendOpts(orient="vertical", pos_top="10%", pos_left="10%")) # ๋ฒ๋ก ์กฐ์
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render_notebook()
)
p
๋ฒ๋ก์ ์ด์ด์ ํ์ด ๋ชจํ๋ ์ด๋์ํฌ ์๋ ์์ต๋๋ค.
(center ์ต์ ์ ๋ฆฌ์คํธ ์ฒซ ๋ฒ์งธ ๊ฐ์ด ์ปค์ง์๋ก ์ค๋ฅธ์ชฝ์ผ๋ก, ๋ ๋ฒ์งธ ๊ฐ์ด ์ปค์ง์๋ก ์๋๋ก ์กฐ์ ๋ฉ๋๋ค.)
p = (
Pie()
.add("", z, radius=["50%", "80%"], center=["70%", "50%"]) # ์ผ์ชฝ/์ค๋ฅธ์ชฝ, ์/์๋
.set_global_opts(title_opts=opts.TitleOpts(title="ํ์ด ๊ทธ๋ํ"),
legend_opts=opts.LegendOpts(orient="vertical", pos_top="10%", pos_left="10%")) # ๋ฒ๋ก ์กฐ์
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render_notebook()
)
p
ํ์ด ๊ทธ๋ํ ์์์ด ๋ณ๋ก๋ผ๊ณ ์๊ฐ๋์ ๋ค๋ฉด ์ํ๋ ์์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํฉ๋๋ค.
p = (
Pie()
.add("", z, radius=["50%", "80%"]) # ๊ฐ์ด๋ฐ ๋๋์ ํฌ๊ธฐ, ์ ์ฒด ๋ํ์ ํฌ๊ธฐ
.set_global_opts(title_opts=opts.TitleOpts(title="ํ์ด ๊ทธ๋ํ"),
legend_opts=opts.LegendOpts(orient="vertical", pos_top="10%", pos_left="10%")) # ๋ฒ๋ก ์กฐ์
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.set_colors(["gold", "steelblue", "limegreen", "plum"]) # ์นดํ
๊ณ ๋ฆฌ๋ณ ์์์ ๋ฆฌ์คํธ๋ก ์ง์
.render_notebook()
)
p
์กฐ๊ธ ์งง์ง๋ง ๊ฐ๋จํ๊ฒ pyecharts ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ์ด ๊ทธ๋ํ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.