Python可视化神器pyecharts绘制饼状图

目录
  • 饼图
    • 概念
    • 用法
    • 优势
  • 饼状图系列模板
    • 简单多色饼状图(类别可配色)
    • 象形饼状图
    • 环形饼状图
    • 不调色饼状图(大小位置可控制)
    • 数据类别大量显示柱状图
    • 多饼状图同时显示
    • 玫瑰饼状图双图显示
    • 环形饼状图(数据标签左放)

饼图

概念

饼图(pie chart)是用圆形及圆内扇形的角度来表示数值大小的图形,它主要用于表示一个样本(或总体)中各组成部分的数据占全部数据的比例。仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列 (数据系列:在图表中绘制的相关数据点,这些数据源自数据表的行或列。图表中的每个数据系列具有唯一的颜色或图案并且在图表的图例中表示。可以在图表中绘制一个或多个数据系列。饼图只有一个数据系列。)中各项的大小与各项总和的比例。

用法

  • 1、仅有一个要绘制的数据系列
  • 2、要绘制的数值没有负值
  • 3、要绘制的数值几乎没有零值
  • 4、类别数目无限制
  • 5、各类别分别代表整个饼图的一部分
  • 6、各个部分需要标注百分比(也可以不需要,注明数量也可)

优势

能够直观的反映出每个数据类别的大体占比,便于我们快速的得出结论。

饼状图系列模板

简单多色饼状图(类别可配色)

选用大量的数据集,可以进行对类别的配色,直观的反映每一个类别的占比情况,非常好看。

from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker
c = (
Pie()
.add("", [list(z) for z in zip(Faker.choose(), Faker.values())])#可更改
.set_colors(["blue", "green", "cyan", "red", "pink", "orange", "purple"])#颜色可添加
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-标题"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
.render("简单多饼状图.html")
)
print([list(z) for z in zip(Faker.choose(), Faker.values())])#数据格式参考

象形饼状图

把鼠标放在上面,可以显示占比情况也就是百分数的多少,直观通过参数构造完全可以解决。

import pyecharts.options as opts
from pyecharts.charts import Pie
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(width="1600px", height="800px", bg_color="#2c343c"))
.add(
series_name="访问来源",
data_pair=data_pair,
rosetype="radius",
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 opts
from 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 opts
from 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 opts
from 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 opts
from 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 opts
from 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 opts
from 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绘制饼状图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python机器学习之使用Pyecharts制作可视化大屏

    目录 前言 Pyecharts可视化 Map世界地图 柱状图.饼图 Pyecharts组合图表 总结 前言 ECharts是由百度开源的基于JS的商业级数据图表库,有很多现成的图表类型和实例,而Pyecharts则是为了方便我们使用Python实现ECharts的绘图.使用Pyecharts制作可视化大屏,可以分为两步: 1.使用分别Pyecharts分别制作各类图形: 2.使用Pyecharts中的组合图表功能,将所有图片拼接在一张html文件中进行展示. 小五认为影响大屏美观最重要的两个因素

  • Python matplotlib绘制饼状图功能示例

    本文实例讲述了Python matplotlib绘制饼状图功能.分享给大家供大家参考,具体如下: 一 代码 import numpy as np import matplotlib.pyplot as plt #The slices will be ordered and plotted counter-clockwise. labels ='Frogs','Hogs','Dogs','Logs' sizes =[15,30,45,10] colors =['yellowgreen','gold

  • Python+pyecharts绘制交互式可视化图表

    目录 一.热力图 二.地理图表 2.1 地理坐标系 2.2 市区地图 2.3人口流动图 2.4 3D地图 2.5 3D地球 三.疫情数据可视化 四.空气质量数据可视化 五.外卖点分布数据可视化 六.总结 本篇我们来了解一个新的可视化模块pyecharts,由于爬虫敏感问题,博主对数据已经提取供大家使用,本篇文章仅介绍数据可视化. 一.热力图 案例:绘制2021部分城市的GDP热力图(比如上海,北京,深圳,重庆,长沙的2021年总GDP),data为一个列表,每个城市数据用元祖表示,比如:(‘上海

  • Python数据可视化Pyecharts制作Heatmap热力图

    目录 HeatMap:热力图 1.基本设置 2.热力图数据项 Demo 举例 1.基础热力图 本文介绍基于 Python3 的 Pyecharts 制作 Heatmap(热力图 时需要使用的设置参数和常用模板案例,可根据实际情况对案例中的内容进行调整即可. 使用 Pyecharts 进行数据可视化时可提供直观.交互丰富.可高度个性化定制的数据可视化图表.案例中的代码内容基于 Pyecharts 1.x 版本 . HeatMap:热力图 1.基本设置 class HeatMap( # 初始化配置项

  • Python数据可视化Pyecharts库的使用教程

    目录 一.Pyecharts 概述 1.1 Pyecharts 特性 1.2 Pyecharts 入门案例 二.Pyecharts 配置项 2.1 全局配置项 2.2 系列配置项 三.Pyecharts 的总结 一.Pyecharts 概述 Pyechart 是一个用于生成 Echarts 图表(Echarts 是基于 Javascript 的开源可视化图表库)的 Python 第三方库. 1.1 Pyecharts 特性 根据官方文档的介绍,Pyecharts 的特性如下: 1.简洁的 API

  • Python使用matplotlib的pie函数绘制饼状图功能示例

    本文实例讲述了Python使用matplotlib的pie函数绘制饼状图功能.分享给大家供大家参考,具体如下: matplotlib具体安装方法可参考前面一篇http://www.jb51.net/article/51812.htm,具体使用代码如下: #coding=utf8 import matplotlib as mpl import numpy as np import matplotlib.pyplot as plt ''''' matplotlib.pyplot.pie函数:画一个饼

  • Python饼状图的绘制实例

    import numpy as np import matplotlib.pyplot as plt labels = 'A', 'B', 'C', 'D' fracs = [15, 30.55, 44.44, 10] explode = [0, 0, 0, 0] # 0.1 凸出这部分, plt.axes(aspect=1) # set this , Figure is round, otherwise it is an ellipse # autopct ,show percet plt.p

  • Python可视化神器pyecharts绘制饼状图

    目录 饼图 概念 用法 优势 饼状图系列模板 简单多色饼状图(类别可配色) 象形饼状图 环形饼状图 不调色饼状图(大小位置可控制) 数据类别大量显示柱状图 多饼状图同时显示 玫瑰饼状图双图显示 环形饼状图(数据标签左放) 饼图 概念 饼图(pie chart)是用圆形及圆内扇形的角度来表示数值大小的图形,它主要用于表示一个样本(或总体)中各组成部分的数据占全部数据的比例.仅排列在工作表的一列或一行中的数据可以绘制到饼图中.饼图显示一个数据系列 (数据系列:在图表中绘制的相关数据点,这些数据源自数

  • Python实战基础之绘制饼状图分析商品库存

    目录 一.实战场景 二.主要知识点 三.菜鸟实战 1.创建 python 文件 2.运行结果 补充:其中pie()函数中的参数: 总结 一.实战场景 实战场景:如何绘制饼状图分析商品库存 二.主要知识点 文件读写 基础语法 字符串处理 文件生成 数据构建 三.菜鸟实战 马上安排! 1.创建 python 文件 """ Author: 菜鸟实战 实战场景: 如何绘制饼状图分析商品库存 """ # 导入系统包 import platform from

  • Python可视化神器pyecharts绘制桑基图

    目录 桑基图 桑基图系列模板 第一个桑基图 复杂桑基图 桑基图 桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图.它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于​​能源​​​.材料成分.​​金融​​​等数据的可视化分析.因1898年Matthew Henry Phineas Riall Sankey绘制的“​​蒸汽机​​的能源效率图”而闻名,此后便以其名字命名为“桑基图”. 桑基图最明显的特征就是,始末端的分支宽度总和相等,即所有主支宽度

  • Python可视化神器pyecharts之绘制箱形图

    目录 箱形图 概念 用处 箱形图系列模板 第一个箱形图 复杂一点的图例 箱形图 概念 后面的图形都是一些专业的统计图形,当然也会是我们可视化的对象. 箱形图(Box-plot)又称为盒须图.盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图.因形状如箱子而得名.在各种领域也经常被使用,常见于​​品质管理​​.它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较.箱线图的绘制方法是:先找出一组数据的上边缘.下边缘.中位数和两个四分位数:然后, 连接两个四分位数画出箱体:再将

  • Python可视化神器pyecharts绘制漏斗图

    目录 漏斗图 漏斗图系列模板 尖顶型漏斗图 锥子型漏斗 三角形漏斗 连接型漏斗 漏斗图 漏斗图是由Light等在1984年提出,一般以单个研究的效应量为横坐标,样本含量为纵坐标做的散点图.效应量可以为RR.OR和死亡比或者其对数值等.理论上讲,被纳入Meta分析的各独立研究效应的点估计,在平面坐标系中的集合应为一个倒置的漏斗形,因此称为漏斗图. 样本量小,研究精度低,分布在漏斗图的底部,向周围分散: 样本量大,研究精度高,分布在漏斗图的顶部,向中间集中. 漏斗图法的优点是: 简单易行,只需要被纳

  • Python可视化神器pyecharts绘制雷达图

    目录 雷达图 雷达图模板系列 基础雷达图 单例雷达图 空气质量模板 颜色雷达图 雷达图 雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法.轴的相对位置和角度通常是无信息的. 雷达图也称为网络图,蜘蛛图,星图,蜘蛛网图,不规则多边形,极坐标图或Kiviat图.它相当于​ ​平行坐标图​​,轴径向排列. 平行坐标图: 平行坐标图是一种通常的可视化方法, 用于对 高维几何 和 多元数据 的可视化. 为了表示在高维空间的一个点集,在N条平行的线的背景下,(一

  • Python可视化神器pyecharts绘制水球图

    目录 水球图 双水球图显示 正方形水球图 圆球水球图 数据精度水球图 炫酷水球超级好看 水球图 水球图首先是动态的效果,像水流一样波动,所以看起来比较的舒服,一般用于业务里面的完成率,其实和之前的仪表盘有点类似,但是我个人绝对水球图更加的好,因为看起来比较的炫酷. from pyecharts import options as opts from pyecharts.charts import Liquid from pyecharts.globals import SymbolType c

  • Python可视化神器pyecharts绘制折线图详情

    目录 折线图介绍 折线图模板系列 双折线图(气温最高最低温度趋势显示) 面积折线图(紧贴Y轴) 简单折线图(无动态和数据标签) 连接空白数据折线图 对数轴折线图示例 折线图堆叠(适合多个折线图展示) 二维曲线折线图(两个数据) 多维度折线图(颜色对比) 阶梯折线图 js高渲染折线图 折线图介绍 折线图和柱状图一样是我们日常可视化最多的一个图例,当然它的优势和适用场景相信大家肯定不陌生,要想快速的得出趋势,抓住趋势二字,就会很快的想到要用折线图来表示了.折线图是通过直线将这些点按照某种顺序连接起来

随机推荐