餅圖主要用於表現不同類目的數據在總和中的佔比。每個的弧度表示數據數量的比例。
Pie.add()
方法簽名
add(name, attr, value,
radius=None,
center=None,
rosetype=None, **kwargs)
name -> str
圖例名稱
attr -> list
屬性名稱
value -> list
屬性所對應的值
radius -> list
餅圖的半徑,數組的第一項是內半徑,第二項是外半徑,默認爲 [0, 75]
默認設置成百分比,相對於容器高寬中較小的一項的一半
center -> list
餅圖的中心(圓心)座標,數組的第一項是橫座標,第二項是縱座標,默認爲 [50, 50]
默認設置成百分比,設置成百分比時第一項是相對於容器寬度,第二項是相對於容器高度
rosetype -> str
是否展示成南丁格爾圖,通過半徑區分數據大小,有'radius'和'area'兩種模式。默認爲'radius'
radius:扇區圓心角展現數據的百分比,半徑展現數據的大小
area:所有扇區圓心角相同,僅通過半徑展現數據大小
from pyecharts import Pie
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("餅圖示例")
pie.add("", attr, v1, is_label_show=True)
pie.render()
from pyecharts import Pie
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("餅圖-圓環圖示例", title_pos='center')
pie.add(
"",
attr,
v1,
radius=[40, 75],
label_text_color=None,
is_label_show=True,
legend_orient="vertical",
legend_pos="left",
)
pie.render()
from pyecharts import Pie
attr = ["襯衫", "羊毛衫", "雪紡衫", "褲子", "高跟鞋", "襪子"]
v1 = [11, 12, 13, 10, 10, 10]
v2 = [19, 21, 32, 20, 20, 33]
pie = Pie("餅圖-玫瑰圖示例", title_pos='center', width=900)
pie.add(
"商品A",
attr,
v1,
center=[25, 50],
is_random=True,
radius=[30, 75],
rosetype="radius",
)
pie.add(
"商品B",
attr,
v2,
center=[75, 50],
is_random=True,
radius=[30, 75],
rosetype="area",
is_legend_show=False,
is_label_show=True,
)
pie.render()
餅中餅
import random
from pyecharts import Pie
attr = ['A', 'B', 'C', 'D', 'E', 'F']
pie = Pie("餅圖示例", width=1000, height=600)
pie.add(
"",
attr,
[random.randint(0, 100) for _ in range(6)],
radius=[50, 55],
center=[25, 50],
is_random=True,
)
pie.add(
"",
attr,
[random.randint(20, 100) for _ in range(6)],
radius=[0, 45],
center=[25, 50],
rosetype="area",
)
pie.add(
"",
attr,
[random.randint(0, 100) for _ in range(6)],
radius=[50, 55],
center=[65, 50],
is_random=True,
)
pie.add(
"",
attr,
[random.randint(20, 100) for _ in range(6)],
radius=[0, 45],
center=[65, 50],
rosetype="radius",
)
pie.render()
多個餅圖畫在一張圖內
from pyecharts import Pie
pie = Pie('各類電影中"好片"所佔的比例', "數據來着豆瓣", title_pos='center')
style = Style()
pie_style = style.add(
label_pos="center",
is_label_show=True,
label_text_color=None
)
pie.add(
"", ["劇情", ""], [25, 75], center=[10, 30], radius=[18, 24], **pie_style
)
pie.add(
"", ["奇幻", ""], [24, 76], center=[30, 30], radius=[18, 24], **pie_style
)
pie.add(
"", ["愛情", ""], [14, 86], center=[50, 30], radius=[18, 24], **pie_style
)
pie.add(
"", ["驚悚", ""], [11, 89], center=[70, 30], radius=[18, 24], **pie_style
)
pie.add(
"", ["冒險", ""], [27, 73], center=[90, 30], radius=[18, 24], **pie_style
)
pie.add(
"", ["動作", ""], [15, 85], center=[10, 70], radius=[18, 24], **pie_style
)
pie.add(
"", ["喜劇", ""], [54, 46], center=[30, 70], radius=[18, 24], **pie_style
)
pie.add(
"", ["科幻", ""], [26, 74], center=[50, 70], radius=[18, 24], **pie_style
)
pie.add(
"", ["懸疑", ""], [25, 75], center=[70, 70], radius=[18, 24], **pie_style
)
pie.add(
"",
["犯罪", ""],
[28, 72],
center=[90, 70],
radius=[18, 24],
legend_top="center",
**pie_style
)
pie.render()