Pyecharts基本图:饼图

Pyecharts之饼图与多饼图的应用 为了让饼图更具可读性和表现力,我们可以对数据标签进行自定义。使用# 自定义数据标签return pie代码解释首先,导入Pie类、options模块和Faker模块。创建Pie实例pie,并设置初始化选项,包括主题、宽度和高度。使用Faker生成一些假数据,通过列表推导式将选择的类别和对应的数值组合成元组列表,然后添加到饼图中。在方法中,使用label_opts来自定义数据标签。 阅读详情

Pyecharts基本图:饼图


前言

本文主要是展示了Pyecharts饼图的简单应用和案例。


一. Pie 饼图

add 函数

主要是:名称,数据,颜色,标签配置项,提示框配置项(颜色,半径,展示类型)。

def add(
    # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
    series_name: str,

    # 系列数据项,格式为 [(key1, value1), (key2, value2)]
    data_pair: types.Sequence[types.Union[types.Sequence, opts.PieItem, dict]],

    # 系列 label 颜色
    color: Optional[str] = None,

    # 饼图的半径,数组的第一项是内半径,第二项是外半径
    # 默认设置成百分比,相对于容器高宽中较小的一项的一半
    radius: Optional[Sequence] = None,

    # 饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标
    # 默认设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度
    center: Optional[Sequence] = None,

    # 是否展示成南丁格尔图,通过半径区分数据大小,有'radius'和'area'两种模式。
    # radius:扇区圆心角展现数据的百分比,半径展现数据的大小
    # area:所有扇区圆心角相同,仅通过半径展现数据大小
    rosetype: Optional[str] = None,

    # 饼图的扇区是否是顺时针排布。
    is_clockwise: bool = True,

    # 标签配置项,参考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 提示框组件配置项,参考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 图元样式配置项,参考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

    # 可以定义 data 的哪个维度被编码成什么。
    encode: types.Union[types.JSFunc, dict, None] = None,
)

二. 例子

2.1 set color

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", "yellow", "red", "pink", "orange", "purple"])
    .set_global_opts(title_opts=opts.TitleOpts(title="Pie-设置颜色"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
    .render("pie_set_color.html")
)

2.2 customized pie

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("customized_pie.html")
)

定制饼图

2.3 富文本饼图

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="Pie-富文本示例"))
    .render("pie_rich_label.html")
)

富文本饼图

2.5 环形图

import pyecharts.options as opts
from pyecharts.charts import Pie

x_data = ["直接访问", "邮件营销", "联盟广告", "视频广告", "搜索引擎"]
y_data = [335, 310, 234, 135, 1548]

(
    Pie(init_opts=opts.InitOpts(width="1600px", height="1000px"))
    .add(
        series_name="访问来源",
        data_pair=[list(z) for z in zip(x_data, y_data)],
        radius=["50%", "70%"],
        label_opts=opts.LabelOpts(is_show=False, position="center"),
    )
    .set_global_opts(legend_opts=opts.LegendOpts(pos_left="legft", orient="vertical"))
    .set_series_opts(
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
        ),
        # label_opts=opts.LabelOpts(formatter="{b}: {c}")
    )
    .render("doughnut_chart.html")
)

环形图

2.6 嵌套环图

import pyecharts.options as opts
from pyecharts.charts import Pie

inner_x_data = ["直达", "营销广告", "搜索引擎"]
inner_y_data = [335, 679, 1548]
inner_data_pair = [list(z) for z in zip(inner_x_data, inner_y_data)]

outer_x_data = ["直达", "营销广告", "搜索引擎", "邮件营销", "联盟广告", "视频广告", "百度", "谷歌", "必应", "其他"]
outer_y_data = [335, 310, 234, 135, 1048, 251, 147, 102]
outer_data_pair = [list(z) for z in zip(outer_x_data, outer_y_data)]

(
    Pie(init_opts=opts.InitOpts(width="1600px", height="800px"))
    .add(
        series_name="访问来源",
        data_pair=inner_data_pair,
        radius=[0, "30%"],
        label_opts=opts.LabelOpts(position="inner"),
    )
    .add(
        series_name="访问来源",
        radius=["40%", "55%"],
        data_pair=outer_data_pair,
        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(legend_opts=opts.LegendOpts(pos_left="left", orient="vertical"))
    .set_series_opts(
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
        )
    )
    .render("nested_pies.html")
)

嵌套环图

2.7 多饼图

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="Pie-多饼图基本示例"),
        legend_opts=opts.LegendOpts(
            type_="scroll", pos_top="20%", pos_left="80%", orient="vertical"
        ),
    )
    .render("mutiple_pie.html")
)

多饼图


总结

本文主要是展示了几种常见的饼图以及其简单用法。

Pyecharts 饼图位置调整 如果要把 pyecharts 里的饼图嵌入其他页面,有的时候需要调整饼图的位置。 不调整可能会显示成这样: 调整后的效果是这样: 关键代码在于: center=["40%", "60%"] def pie_base_proc(p_dict, p_list) -> Pie: c = ( Pie(init_opts=opts.InitOpts(... 阅读详情

相关推荐

pyecharts 画图

pyechart 用于 web 绘图,是百度画图的一个高级接口

zhuo木鸟的博客 1万+

用python实现PyEcharts中的饼图

用python实现PyEcharts中的折线图 笔记仅是个人的学习笔记总结,如有雷同请见谅 1. Pie class pyecharts.charts.Pie class Pie( # 初始化配置项,参考 `global_options.InitOpts` init_opts: opts.InitOpts = opts.InitOpts() ) func pyecharts.charts.Pie.add def add( # 系列名称,用于 tooltip 的显示,lege.

白痴式学习 2842

干货收藏 | 用matplotlib和Pyecharts花式绘制饼图

一、利用matplotlib绘制饼图 1、导入模块: import matplotlib.pyplot as plt import pandas as pd import matplotlib 2、设置数据: data = pd.Series([95,261,105,30,9],index =["五星","四星","三星","二星","一星"]) data 输出结果: 3、饼图主代码: # 设置图片大小和分辨率 fig=plt.figure(figsize=(5,5), dpi=100) # 设置饼图

雅痞绅士JM的博客 2169

【Python】通过Pyecharts 可视化制作饼图Pie 、直方图

饼图:以饼状图形显示一个数据系列中各项的大小与各项总和的比例,也称作扇形统计图。场景:适用于二维数据,即一个分类字段,一个连续数据字段,当用户更关注与简单占比时,适合使用饼图。优点:简单直观,很容易看到组成成分的占比缺点不适合较大的数据集(分类)展现数据项中不能有负值当比例接近时,人眼很难准确判别类似图表:环形图、3D饼图直方图又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况,一般用横轴表示数据类型,纵轴表示分布情况,直方图是数值数据分布的精确图形表示。

disy924的博客 7576

Python数据可视化 Pyecharts 制作 Pie 饼状图

大家好,我是Mr数据杨!想象一下,我们身处三国演义的时代,虎踞龙盘,英勇战将,智勇之士,都在这个乱世中扮演着重要的角色。假设吾辈正是郭嘉,手中握有整个魏国兵力的详细信息,但这仅仅是一堆数字,怎么把它变得更生动,更形象呢?是的,饼图!郭嘉用饼图进行基本设置,那是为了清晰展示步兵、骑兵、弓箭手等各种兵力的分布。通过饼图数据项,可以了解到每种军队的数量比例,而饼图标签的视觉引导线样式更好的关联每块“饼”和它们的标签,避免混淆。走入Demo的殿堂,首先遇到的是基础饼图示例。

Mr数据杨 4万+

python+re正则表达式匹配指定10位整数 \ 小数 \ 整数

python+re正则表达式匹配整数和小数 re匹配整数可指定位数 re匹配小数

weixin_42636075的博客 2361

惊叹,Pyecharts绘制饼图原来可以如此漂亮!

来源:Python数据之道作者:Peter整理:Lemon利用Pyecharts玩转饼图饼图在实际的可视化要求中是非常常见的,它能够很好显示个体的占比或者数据情况。本文中讲解的是如何利用...

Python数据之道 1万+

用Python快速制作饼图——简易Pyecharts饼状图教程

在数据可视化中,饼图常常被用来展示不同类别之间的数量比例关系。与其他类型的图表相比,饼图更加直观、易于理解。本文将介绍如何使用Python的Pyecharts库快速绘制简单的饼图。如果你想进一步学习数据可视化,可以使用Pyecharts绘制更多类型的图表,如折线图、柱状图等。运行程序后,将会在当前目录下生成一个名为simple_pie_chart.html的文件。用浏览器打开这个文件,即可查看生成的饼图。每个元素是一个长度为2的元组,第一个元素表示分类名称,第二个元素表示该分类的值。

qq_39605374的博客 1349

python中pyecharts绘制饼图

pyecharts包绘制饼图需要调用Pie from pyecharts import Pie Pie.add()方法签名: add(name, attr, value, radius=None, center=None, rosetype=None, **kwargs) name -> str 图例名称 attr -> list 属性名称 ...

Rustone的博客 4万+

100天精通Python(可视化篇)——第93天:Pyecharts绘制多种炫酷饼图参数说明+代码实战(百分比、环形、玫瑰、内嵌、多个子图饼图)

专栏导读 1. 基础饼图 add函数 简单案例 改变颜色 2. 百分比饼图 3. 环形饼图 4. 玫瑰饼图 5. 内嵌环图 6. 多个饼图

努力让自己发光,对的人才能迎着光而来 1万+

手把手教你用S7-PLCSIM Advanced V3.0搭建PLC仿真测试环境(含WinPcap避坑指南)

本文详细介绍了如何使用西门子S7-PLCSIM Advanced V3.0搭建PLC仿真测试环境,包括WinPcap 4.1.3驱动的安装避坑指南。从环境准备、软件安装到配置调试,提供了一套完整的解决方案,帮助工程师和教学人员快速构建可靠的PLC仿真环境,解决常见的报错问题。

weixin_30879169的博客 641

双 11 数据可视化:Pyecharts 与 Matplotlib 绘制商品价格对比及动态饼图

数据可视化的相关内容,包括掌握可视化交互、进行数据可视化评估和了解其价值。同时,通过商品价格对比展示了 Pyecharts 和 Matplotlib 库的柱形图绘制方法,并分别讲解了静态和动态饼图的绘制,特别是在 Matplotlib 中设置中文显示及 Pyecharts 动态饼图的复杂实现,为数据可视化提供了丰富的参考和实用的示例。

布说在见的博客 2412

Latex里面关于作者名字显示有灰色; 二级+三级标题斜体;

Latex里面关于 作者名字显示有灰色; 二级+三级标题斜体,与正文的距离; 邮箱字体;ORCID字体设置(整理不易,请先关注,Thanks)

m0_61015717的博客 746

[pyecharts学习笔记]——Pie饼图

基本示例 from pyecharts import options as opts from pyecharts.charts import Pie from pyecharts.faker import Faker from pyecharts.globals import ThemeType c = ( #设置主题 Pie(init_opts=opts.InitOpts(t...

积一时之步,臻千里之遥程 1万+

Synopsys PCIe IP 实战笔记:手把手教你配置本地数字回环(PIPE/RMMI)

本文详细介绍了Synopsys PCIe IP本地数字回环(PIPE/RMMI)的配置与调试全流程,涵盖硬件连接、寄存器操作及实战技巧。通过数字回环模式,开发者可在无真实对端设备的情况下验证PCIe接口功能,适用于芯片验证和FPGA原型开发。文章还提供了常见问题排查和性能优化建议,助力高效完成协议解析与调试。

weixin_30394669的博客 323

从FinFET到NanoSheet:一文看懂TSMC制程技术的架构革命与性能飞跃

本文深入解析了TSMC从FinFET到NanoSheet的制程技术架构革命。FinFET通过三维立体结构解决了短沟道效应,而NanoSheet采用环绕栅极设计,实现了更强的静电控制与设计灵活性,结合EUV光刻技术,共同推动了芯片性能与能效的飞跃,为下一代AI与高性能计算奠定基石。

i3j4k5的博客 288

【Python基础】惊叹,Pyecharts绘制饼图原来可以如此漂亮!

来源:Python数据之道作者:Peter整理:Lemon利用Pyecharts玩转饼图饼图在实际的可视化要求中是非常常见的,它能够很好显示个体的占比或者数据情况。本文中讲解的是如何利...

fengdu78的博客 1万+

USB通讯速度翻倍秘诀:手把手教你用WinUsb替代HID协议(附Zadig驱动配置图解)

本文详细介绍了如何通过WinUsb技术替代传统HID协议,实现USB通讯速度的显著提升。从技术对比、实现原理到Zadig驱动配置图解,手把手教你完成免驱高速通讯方案,适用于数据采集、固件升级等场景,实测速度可达HID协议的2倍以上。

weixin_29168675的博客 134

2 基于pyecharts的python数据可视化——饼图绘制

饼图常用于表现不同类别的占比情况。使用Pie方法可以绘制饼图。

简时刻的博客 8358

从驱动编译到数据传输:RK3588与FPGA的PCIe通信实战解析

本文详细解析了RK3588与FPGA通过PCIe通信的实战过程,涵盖驱动编译、数据传输及性能优化等关键步骤。通过XDMA驱动实现高效DMA传输,适用于视频处理、数据采集等高性能场景,帮助开发者快速掌握嵌入式系统中的PCIe通信技术。

weixin_29214691的博客 524

STM32F407实现LwIP的MQTT客户端并连接到服务器

这个是用LwIP协议栈中自带的MQTT客户端API写成的,代码注释很详细,附带有服务端的展示。LwIP版本是2.1.2.

wait_for_STM32的博客 6394

pyecharts图表库学习:Pie(饼图)

饼图主要用于表现不同类目的数据在总和中的占比。每个的弧度表示数据数量的比例。 Pie.add()方法签名 add(name, attr, value, radius=None, center=None, rosetype=None, **kwargs) name -> str 图例名称 attr -> list 属性名称 value -> list ...

错位的梦寐的博客 1万+

亚马逊跨境电商选品数据分析:Python爬虫实战指南

本文将带领大家构建一套完整的亚马逊选品数据采集与分析系统,使用最新的Python技术栈,从零开始爬取亚马逊商品数据,并进行深度分析。

2201_76125261的博客 299

pyecharts可视化——饼图

玫瑰图 rosetype。环形图 radius。

lyx52Hertz的博客 1778

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

pyecharts 饼图绘制

关于饼图的绘制基本的饼图环形图玫瑰饼图 基本的饼图 import pandas as pd import numpy as np from pyecharts.charts import * import pyecharts.options as opts #数据 cate = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu'] data = [123, 153, 89, 107, 98, 23] pie=Pie() pie.add("",[lis

weixin_43985376的博客 5646

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Pyecharts基本图:水球图

Pyecharts基本图:水球图 文章目录Pyecharts基本图:水球图前言一. Liquid:水球图1.1 Liquid 类1.2 add 函数二. 例子2.1 菱形2.2 多水球图2.3 矩形水球2.4 基本图2.5 精确数据2.6 无轮廓2.7 箭头型总结 前言 本文主要是展示Pyecharts基本图的水球图的基本用法和例子。 一. Liquid:水球图 1.1 Liquid 类 # class pyecharts.charts.Liquid class Liquid( # 初始化配

Tomandjava的博客 3158

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: Pyecharts基本图:水球图
下一篇: Pyecharts基本图:雷达图
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值