都21世紀30年代了,還有人問我餅狀圖怎么畫
於是我馬不停蹄寫了這篇餅狀圖教程,希望能夠幫助你們。
餅狀圖能夠清晰的反映出各項之間、各項和總和之間的占比關系,常見的餅狀圖主要有以下6種類型:
1.基本餅狀圖
這是餅狀圖最常見的類型,代碼如下:
#繪制高中同學現在職業占比餅狀圖
from pyecharts import options as opts
from pyecharts.charts import Pie
x=['程序員','教師','醫生','護士','警察','老板','律師','翻譯','運動員']
y=[18,5,3,4,8,2,2,5,1]
pie = (
Pie()
.add('高中同學職業占比',[(i,j)for i,j in zip(x,y)])
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
2.調整餅圖標簽位置
根據需要,我們可以隨意調整餅狀圖的位置
from pyecharts import options as opts
from pyecharts.charts import Pie
x=['程序員','教師','醫生','護士','警察','老板','律師','翻譯','運動員']
y=[18,5,3,4,8,2,2,5,1]
pie = (
Pie()
.add('高中同學職業占比',[(i,j)for i,j in zip(x,y)])
.set_global_opts(
title_opts=opts.TitleOpts(title="Pie-調整位置"),
legend_opts=opts.LegendOpts(pos_left="25%"),)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
圖例組件離容器上下左右的距離分別用:pos_left、pos_right、pos_top、pos_bottom表示
3.設置餅圖顏色
感覺默認顏色不好看?不用怕,我們換了它!
from pyecharts import options as opts
from pyecharts.charts import Pie
x=['程序員','教師','醫生','護士','警察','老板','律師','翻譯','運動員']
y=[18,5,3,4,8,2,2,5,1]
pie = (
Pie()
.add('高中同學職業占比',[(i,j)for i,j in zip(x,y)])
.set_colors(["blue","green","yellow","red","pink","orange","purple","lilac","pansy"])
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
4.南丁格爾圖
來個造型奇特的柱狀圖
from pyecharts import options as opts
from pyecharts.charts import Pie
x=['程序員','教師','醫生','護士','警察','老板','律師','翻譯','運動員']
y=[18,5,3,4,8,2,2,5,1]
pie = (
Pie()
.add(
series_name='高中同學職業占比',
data_pair=[(i,j)for i,j in zip(x,y)],
rosetype="radius",
radius="85%",
center=["50%", "50%"],
label_opts=opts.LabelOpts(is_show=False, position="center"),)
.set_global_opts(
title_opts=opts.TitleOpts(
title="Customized Pie",
pos_left="center",
pos_top="20",
title_textstyle_opts=opts.TextStyleOpts(color="#fff"),
),
legend_opts=opts.LegendOpts(is_show=False),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
rosetype:有2種類型(radius:扇區圓心角展現數據的百分比,半徑展現數據的大小。area:所有扇區圓心角相同,僅通過半徑展現數據大小) center:原點位置
5.標簽滾動餅圖
為了提高視覺效果,我們需要滾動突出某項重點
from pyecharts import options as opts
from pyecharts.charts import Pie
x=['程序員','教師','醫生','護士','警察','老板','律師','翻譯','運動員']
y=[18,5,3,4,8,2,2,5,1]
pie = (
Pie()
.add('高中同學職業占比',[(i,j)for i,j in zip(x,y)])
.set_global_opts(
title_opts=opts.TitleOpts(title="Pie-Legend 滾動"),
legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
LegendOpts參數介紹:type:圖例類型,'plain'代表普通圖例,'scroll'代表可滾動翻頁圖例 pos_left:圖例組件離容器左側的距離 orient:圖例列表的布局朝向。可選:'horizontal', 'vertical'
6.玫瑰花餅圖
一起來感受一下餅狀圖的美麗吧!
from pyecharts import options as opts
from pyecharts.charts import Pie
x=['程序員','教師','醫生','護士','警察','老板','律師','翻譯','運動員']
y=[18,5,3,4,8,2,2,5,1]
pie = (
Pie()
.add(
"",
[(i,j)for i,j in zip(x,y)],
radius=["30%", "75%"],
center=["25%", "50%"],
rosetype="radius",
label_opts=opts.LabelOpts(is_show=False),
)
.add(
"",
[(i,j)for i,j in zip(x,y)],
radius=["30%", "75%"],
center=["75%", "50%"],
rosetype="area",
)
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-玫瑰圖示例"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)
pie.render_notebook()
radius:內半徑和外半徑
完整代碼請掃碼關注公眾號並回復餅圖獲取
-完-
完整代碼請掃碼關注公眾號並回復餅圖獲取