PyEcharts 基本图表之饼图 educoder_echartseducoder-程序员宅基地

技术标签: 数据分析  echarts  educoder  

第1关:Pie:饼图(一)

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot

from pyecharts.charts import Pie

from pyecharts.faker import Faker

data = [list(z) for z in zip(Faker.choose(), Faker.values())]

def pie_chart() -> Pie:
    # ********* Begin *********#  
    pie = (
            Pie()
            .add("",data)
            .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}")
            )
    )
    # ********** End **********#
    return pie

make_snapshot(snapshot, pie_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
make_snapshot(snapshot, pie_base(data).render(), "StandardAnswer/task1/standard_answer_1.png")

第2关:Pie:饼图(二)

from PreTest import *
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot

from pyecharts.charts import Pie

data = [
    list(z)
    for z in zip(
        Faker.choose() + Faker.choose() + Faker.choose() + Faker.choose() + Faker.choose(),
        Faker.values() + Faker.values() + Faker.values() + Faker.values() + Faker.values(),
        )
]


def pie_chart() -> Pie:
    # ********* Begin *********#  
    pie = (
            Pie()
            .add("",data,center=["40%", "50%"])
            .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}")
            )

    )
    # ********** End **********#
    return pie

make_snapshot(snapshot, pie_chart().render("Result/render.html"), "StudentAnswer/student_answer.png") # 输出图片
make_snapshot(snapshot, pie_scroll_legend(data).render(), "StandardAnswer/task2/standard_answer_2.png")

 第3关:Pie:饼图(三)

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot

from pyecharts.charts import Pie
from pyecharts.faker import Faker


# ********* Begin *********#
data = [list(z) for z in zip(Faker.choose(), Faker.values())]
# ********** End **********#

def pie_chart() -> Pie:
    # ********* Begin *********#  
    pie = (
        Pie()
        .add(
            "",
            data,
            radius=["30%", "75%"],
            center=["25%", "50%"],
            rosetype="radius",
            label_opts=opts.LabelOpts(is_show=False),
        )
        .add(
            "",
            data,
            radius=["30%", "75%"],
            center=["75%", "50%"],
            rosetype="area",
        )
        .set_global_opts(title_opts=opts.TitleOpts(title="Pie-玫瑰图示例"))
    )
    # ********** End **********#
    return pie

make_snapshot(snapshot, pie_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
make_snapshot(snapshot, pie_rose_type(data).render(), "StandardAnswer/task3/standard_answer_3.png")

 第4关:Pie:饼图(四)

from PreTest import *
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot

from pyecharts.charts import Pie
from pyecharts.faker import Faker

# ********* Begin *********#
data = [list(z) for z in zip(Faker.choose(), Faker.values())]

# ********** End **********#

def pie_chart() -> Pie:
    # ********* Begin *********#  
    pie = (
    Pie()
    .add(
        "",
        data,
        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-富文本示例"))
    )
    # ********** End **********#
    return pie

make_snapshot(snapshot, pie_chart().render("Result/render.html"), 'StudentAnswer/student_answer.png') # 输出图片
make_snapshot(snapshot, pie_rich_label(data).render(), "StandardAnswer/task4/standard_answer_4.png")

第5关:Pie:饼图(五)

from PreTest import *
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot

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)]

def pie_chart() -> Pie:
    # ********* Begin *********#  
    pie = (
        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}%)"
        )
    )
    )
    # ********** End **********#
    return pie

make_snapshot(snapshot, pie_chart().render("Result/render.html"), "StudentAnswer/student_answer.png") # 输出图片
make_snapshot(snapshot, pie_nested(inner_data_pair, outer_data_pair).render(), "StandardAnswer/task5/standard_answer_5.png")

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_54010885/article/details/121432110

智能推荐

软件模拟IIC从机_模拟i2c从机-程序员宅基地

文章浏览阅读8.5k次,点赞9次,收藏93次。由于ic性能有限,没有硬件的iic外设,项目上有需要使用iic从机,所以自己写了个iic从机模块,执行效率还行可以10m主频的单片机最快可以接收到100K的速度。该模块需要资源,2个外部中断配置-上升下降沿中断,来模拟iic时序,芯片编译器的问题,对结构体不是很友好,所以这边没有使用结构体对变量打包,目前只实现了简单的接受和发送,不支持eeprom那种读写方式。两组io口配置,总共有4种状态:1 SDA下降沿中断SCL高电平 – 起始信号SCL低电平 – 数据0 或 ACK2 SDA上升沿中断_模拟i2c从机

Swish & hard-Swish_swish和hardswish-程序员宅基地

文章浏览阅读1.5w次,点赞2次,收藏18次。当β = 0时,Swish变为线性函数f(x)=x/2β → ∞, σ(x)=(1+exp(−x))−1σ(x)=(1+exp⁡(−x))−1为0或1. Swish变为ReLU: f(x)=2max(0,x)所以Swish函数可以看做是介于线性函数与ReLU函数之间的平滑函数. beta是个常数或者可以训练的参数。其具有无上界有下界、平滑、非单调的特性。其在模型效果上优于ReLU。ha..._swish和hardswish

交叉编译 Qt5.12.2_qt5.12 arm 交叉编译-程序员宅基地

文章浏览阅读1.4w次,点赞12次,收藏59次。来自QQ群 Linux && 技术分享 311078264打开链接加入QQ群:https://jq.qq.com/?_wv=1027&k=5Gr3bAx此文档由elikang整理,为了文章简单直接,许多细节未能在文章中体现,如有疑问请进群讨论。参考文章:https://doc.qt.io/qt-5/linux.html交叉编译工作在Ubuntu18.04上进行,..._qt5.12 arm 交叉编译

/deep/ 深度作用选择器作用及使用_/deep/ span-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏6次。之前在开发中遇到一个问题,vue项目结合 element ui 使用。但是 element ui 的样式不一定符合我们的需求,这时我们就需要改变它的样式。比如博主使用到了element ui 的对话框,我想要改变这个对话框标题的颜色,所以我需要在页面中审查元素找到对应的标签。但是当我找到并且复制,然后试图去改变它的样式时,怎么都没办法改变。我以为是权重的问题,所以我加 ! important,但是也毫无作用。当我审查元素发现此样式就没有作用到,就相当于它没有找到这个元素,所以也就不存在改_/deep/ span

MybatisPlusExcepection: can not find lambda cache for this property [XX] for entity [xxx]_lambdaquery() 无法缓存实体类-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏3次。项目有用到mybatis-plus还是挺香的,但是遇到一个坑com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: can not find lambda cache for this property [dbName] of entity []意思是实体类enetity及其字段没有缓存或者说指定字段没有缓存这个需要具体问题具体分析,得先找到在哪缓存的?什么时候缓存的?问题和解决方案我这里的问题是因为继承太多正常是一个mapp_lambdaquery() 无法缓存实体类

FP-growth_fp-growth工作流程-程序员宅基地

文章浏览阅读1.7k次,点赞4次,收藏6次。FP-growthFP-growth 算法能够更有效地挖掘数据,但不能用于发现关联规则。FP-growth 基于 Apriori 算法构建,但在完成相同任务时采用了一些不同的技术。Apriori:在每次循环的连接步中都要扫描数据集,来计算当前组合而成的项集的支持度。FP-growth:只需要对数据库进行两次扫描,并将数据集存储在一个特定的称作 FP 树的数据结构。这种做法能够使得算法的执..._fp-growth工作流程

随便推点

CSS选择器小结(python使用css方式定位)_python可以用css来调节位置吗-程序员宅基地

文章浏览阅读1.3w次,点赞4次,收藏29次。学习Python写爬虫的时候,遇到css定位问题,故小结一下css选择器定位的方式通配符选择器:* {color:red;}CSS 类选择器匹配所有class = ‘important’*.important {color:red;}去掉前面通配符也是一样的。结合元素选择器匹配所有p标签下class = ‘important’p.important {color:red;}CSS 多类选择器匹配c..._python可以用css来调节位置吗

C#多维数组的维数长度求解_多维数组长度 c#-程序员宅基地

文章浏览阅读2.4k次。C#多维数组的维数长度求解string[,] datalst = new string[,] { { “11”, “12”, “13” }, { “21”, “22”, “23” } };int row = datalst.GetLength(1); //第一维的长度(即行数)int col = datalst.GetLength(0); //第二维的长度(即列数)Console.Wri..._多维数组长度 c#

C# System.Threading.Timer如何停止_system.timers.timer如何停止-程序员宅基地

文章浏览阅读6.7k次。Threading.Timer 属于100% 多线程Timers.Timer 默认多线程,可设置为单线程既然是多线程,不管通过回调 还是事件 执行任务,都是开启的另一个线程;你可以暂停或销毁计时器(Timer)本身,但是不能操作里面新开线程的任务,这也是多线程设计的期望方式,因为你不知道 超线程里面到底执行到哪儿了。但是,像我这种(刁民)有时候就喜欢那么横,所以就把 新开的任务装在一个 n..._system.timers.timer如何停止

爬取汽车之家所有汽车参数配置_汽车之家参数配置怎么导出-程序员宅基地

文章浏览阅读5.1k次,点赞3次,收藏18次。效果预览汽车之家参数配置的页面无法右键查看网页源代码,不太好爬取,网上相关教程方法比较复杂,这里采用了两步走的爬取方法。即先获取所有车型的网页,再分别解析,逐步拆解。代码实现第一步,导入相关库import bs4import requests as reqimport reimport jsonimport csv第二步,下载出所有车型的网页def mainMethod(): li = [chr(i) for i in range(ord("A"), ord("Z") _汽车之家参数配置怎么导出

​【原创】基于SSM的学院排课管理系统(排课管理系统毕业设计源代码)_培训机构 排课系统 源码-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏20次。后端采用SSM框架。前端使用的是Layui的一个网站模板。通过3种角色使用,实现了包括了教师、学生、班级、专业、课程、排课、数据统计等多个不同的模块。本系统的排课逻辑是为不同学院下不同班级的每一天课程进行安排,并不是传统的固定课程形式。每一天的课程可以是不同的。_培训机构 排课系统 源码

vue-amap中使用官方轨迹回放功能_vue-amap passedpolyline-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏7次。// vue-amap中使用官方轨迹回放功能<template> <div class="page"> <div>MAP TRACK</div> <div class="map-container"> <el-amap :center="center" :amap-manager="amapManager" _vue-amap passedpolyline

推荐文章

热门文章

相关标签