python用pyecharts画柱状图,pyecharts实现环形饼图
本文主要介绍Python可视化神器pyecharts绘制的饼状图。饼图是用圆和圆内扇形的角度来表示数值的图形。主要用来表示一个样本中每个成分的数据占全部数据的比例。
00-1010饼状图概念用法优势饼状图系列模板简单多色饼状图(类别可以配色)象形饼状图环形饼状图无色饼状图(大小和位置可以控制)数据类别显示大量条形图,多饼状图同时显示玫瑰饼状图,双图显示环形饼状图(数据标签留)
目录
饼图
饼图是用圆和圆扇形的角度来表示数值的图形。主要用来表示一个样本(或整体)中每个成分的数据占全部数据的比例。只有排列在工作表的一列或一行中的数据才能绘制到饼图中。饼图显示数据系列(数据系列:在图表中绘制的相关数据点,这些数据点源自数据表的行或列。图表中的每个数据系列都有独特的颜色或图案,并在图表的图例中表示出来。您可以在图表中绘制一个或多个数据系列。饼图只有一个数据系列。)每一项的大小与每一项之和的比值。
概念
1.只有一个数据系列需要绘制。2.要绘制的值没有负值。3.要画的值几乎没有零值。4.类别数量没有限制。5.每个类别代表饼图的一部分。6.每个部分都需要标注百分比(也可以不标注,可以标注数字)。
用法
可以直观的反映出各个数据类别的大致比例,方便我们快速得出结论。
优势
饼状图系列模板
选择大量的数据集,可以给类别上色,直观的反映出每个类别所占的比例,非常漂亮。
从pyecharts将选项作为选项导入
从饼图.图表导入饼图
从pyecharts.faker导入faker
c=(
饼图()。add(,[list (z) for z in zip (faker.choose()、faker.values ())]) #可以更改。set _ colors ([蓝色,绿色,青色,红色,粉色,橙色,紫色]) #可以添加颜色。set _ global _ opts(title _ opts=opts . title topts(title= pie-title ))。set _ series _ opts(label _ opts=opts。label opts(formatter= { b } : { c } ))。render(简单多饼图. html )
)
print([list(z)for z in zip(faker . choose()、faker . values()))#数据格式参考
简单多色饼状图(类别可配色)
把鼠标放在上面,可以显示比例,也就是百分比,可以通过参数构造直观求解。
将pyecharts.options作为选项导入
从饼图.图表导入饼图
X_data=[直接访问,邮件营销,附属广告,视频广告,搜索引擎]
y_data=[335,310,274,235,400]
data _ pair=[list(z)for z in zip(x _ data,y_data)]
data _ pair . sort(key=lambda x : x[1])
(
Pie(init_opts=opts。InitOpts(宽度=1600px ,高度=800px ,bg_color=#2c343c ))。添加(
Series_name=访问源,
数据对=数据对,
rosetype=radius ,
半径
="55%",
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(
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
),
label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 0.3)"),
)
.render("象形图.html")
)
环形饼状图
出现一个环,里面展示出数据标签和数据量以及数据百分比的情况,一般不会用到。
from pyecharts import options as optsfrom pyecharts.charts import Pie
from pyecharts.faker import Faker
c = (
Pie()
.add(
"",
[list(z) for z in zip(Faker.choose(), Faker.values())],
radius=["40%", "55%"],
label_opts=opts.LabelOpts(
position="outside",
formatter="{a{a}}{abg}\n{hr}\n {b{b}: }{c} {per{d}%} ",
background_color="#eee",
border_color="#aaa",
border_width=1,
border_radius=4,
rich={
"a": {"color": "#999", "lineHeight": 22, "align": "center"},
"abg": {
"backgroundColor": "#e3e3e3",
"width": "100%",
"align": "right",
"height": 22,
"borderRadius": [4, 4, 0, 0],
},
"hr": {
"borderColor": "#aaa",
"width": "100%",
"borderWidth": 0.5,
"height": 0,
},
"b": {"fontSize": 16, "lineHeight": 33},
"per": {
"color": "#eee",
"backgroundColor": "#334455",
"padding": [2, 4],
"borderRadius": 2,
},
},
),
)
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("环形饼状图.html")
)
不调色饼状图(大小位置可控制)
前面我们有一个可以自己调色的饼状图,但是有时候你没有艺术的灵感,设计不出具有魅力的图形,就可以使用这个。
from pyecharts import options as optsfrom pyecharts.charts import Pie
from pyecharts.faker import Faker
c = (
Pie()
.add(
"",
[list(z) for z in zip(Faker.choose(), Faker.values())],
center=["35%", "50%"],
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Pie-调整位置"),
legend_opts=opts.LegendOpts(pos_left="15%"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render("不调色饼状图.html")
)
数据类别大量显示柱状图
针对数据类别有很多的情况我们选用此模板,把数据标签放在右侧。
from pyecharts import options as optsfrom pyecharts.charts import Pie
from pyecharts.faker import Faker
c = (
Pie()
.add(
"",
[
list(z)
for z in zip(
Faker.choose() + Faker.choose() + Faker.choose(),#更换数据类别
Faker.values() + Faker.values() + Faker.values(),#更换数据量
)
],
center=["40%", "50%"],
)
.set_global_opts(
title_opts=opts.TitleOpts(title="标题"),
legend_opts=opts.LegendOpts(type_="scroll", pos_left="80%", orient="vertical"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render("数据标签大量显示.html")
)
print([
list(z)
for z in zip(
Faker.choose() + Faker.choose() + Faker.choose(),#数据类别
Faker.values() + Faker.values() + Faker.values(),#数据量
)
])
多饼状图同时显示
适合做多个饼状图的同时展示,大量的也可以,增加配置即可。
from pyecharts import options as optsfrom pyecharts.charts import Pie
from pyecharts.commons.utils import JsCode
fn = """
function(params) {
if(params.name == 其他)
return \\n\\n\\n + params.name + : + params.value + %;
return params.name + : + params.value + %;
}
"""
def new_label_opts():
return opts.LabelOpts(formatter=JsCode(fn), position="center")
c = (
Pie()
.add(
"",
[list(z) for z in zip(["剧情", "其他"], [25, 75])],
center=["20%", "30%"],
radius=[60, 80],
label_opts=new_label_opts(),
)
.add(
"",
[list(z) for z in zip(["奇幻", "其他"], [24, 76])],
center=["55%", "30%"],
radius=[60, 80],
label_opts=new_label_opts(),
)
.add(
"",
[list(z) for z in zip(["爱情", "其他"], [14, 86])],
center=["20%", "70%"],
radius=[60, 80],
label_opts=new_label_opts(),
)
.add(
"",
[list(z) for z in zip(["惊悚", "其他"], [11, 89])],
center=["55%", "70%"],
radius=[60, 80],
label_opts=new_label_opts(),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="标题"),
legend_opts=opts.LegendOpts(
type_="scroll", pos_top="20%", pos_left="80%", orient="vertical"
),
)
.render("多饼图展示.html")
)
玫瑰饼状图双图显示
可添加多个,这里只展示一个:
from pyecharts import options as optsfrom pyecharts.charts import Pie
from pyecharts.faker import Faker
v = Faker.choose()
c = (
Pie()
.add(
"",
[list(z) for z in zip(v, Faker.values())],
radius=["30%", "75%"],
center=["50%", "50%"],
rosetype="radius",
label_opts=opts.LabelOpts(is_show=False),
)
# .add(
# "",
# [list(z) for z in zip(v, Faker.values())],
# radius=["30%", "75%"],
# center=["75%", "60%"],
# rosetype="area",
# )
.set_global_opts(title_opts=opts.TitleOpts(title="标题"))
.render("玫瑰饼状图.html")
)
环形饼状图(数据标签左放)
适合多个数据,数据标签左放不会重叠
from pyecharts import options as optsfrom pyecharts.charts import Pie
from pyecharts.faker import Faker
c = (
Pie()
.add(
"",
[list(z) for z in zip(Faker.choose(), Faker.values())],
radius=["40%", "75%"],
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Pie-Radius"),
legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
)
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render("数据左放饼状图.html")
)
饼状图就介绍到这了,我相信这些模板已经足够了,可视化玩转不仅仅是图形了,还有炫酷哟!下期文章我们探索K线图,统计学里面(经济)耳熟能详了。
到此这篇关于Python可视化神器pyecharts绘制饼状图的文章就介绍到这了,更多相关Python pyecharts绘制饼状图内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。