PyEcharts入门到精通

news2024/11/15 19:51:24

一、PyEcharts介绍

版本

pyecharts分为v0.5.x和v1两个大版本,v0.5.x和v1间不兼容,v1是一个全新的版本

经开发团队决定,0.5.x版本将不再进行维护,我们不再使用v0.5.x

新版本系列将从v1.0.0开始,仅支持Python 3.6+

将来的新版本(V2)系列从Echarts 4切换到Echarts 5,支持Python 3.6 --- Python 3.11

安装

        pip install pyecharts==1.9.1

课程介绍

ECharts是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而Python是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,PyEcharts诞生了

特性

简洁的API设计,使用丝滑流畅,支持链式调用

囊括了30+种常见图表,应有尽有

支持主流Notebook图表,Jupyter Notebook和JupyterLab

可轻松集成至Flask、Sanic、Django等主流Web框架

高度灵活的配置项,可轻松搭配出精美的图表

详细的文档和示例,帮助开发者更快的上手项目

多达400+地图文件,并且支持原生百度地图,为地理数据可视化提供强有力的支持

快速上手

 也可以使用bar.render_notebook(),在jupyter notebook中渲染

二、配置项

配置项的简单使用

在pyecharts中,一切皆配置Options

或者:

渲染成图片文件:

第一步:安装snapshot_selenium

        pip install snapshot_selenium

第二步:

 

使用主题:

 全局配置项

初始化配置

全局配置项可通过set_global_opts方法设置

导入全局配置项:

from pyecharts.charts import Bar,Line
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType,RenderType

InitOpts:初始化配置项

标题和缩放配置

图例配置

视觉映射和提示框配置

坐标轴配置

系列配置项

系列配置项可通过set_series_opts方法设置

基础图形:

线和标签配置

标记点和标记线配置

渲染效果:

三、图形绘制

Faker

 饼图

c=(
    Pie(
        init_opts=opts.InitOpts(
            width="500px",
            height="400px"
        )
    )
    .add('食物',[list(x) for x in zip(Faker.choose(),Faker.values())])
    .set_colors(['red','blue','green','orange','yellow','pink','black'])
    .set_global_opts(
        title_opts=opts.TitleOpts(title="设置颜色"),
        legend_opts=opts.LegendOpts(
            type_="scroll",pos_bottom="5%",pos_right="2%",orient="vertical")
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(formatter="{b}--{c}")
    )
)
c.render_notebook()

玫瑰图

c=(
    Pie()
    .add(
        '',
        [list(x) for x in zip(v,Faker.values())],
        radius=['30%','75%'],
        center=['25%','50%'],
        rosetype="radius",
        label_opts=opts.LabelOpts(is_show=False) #不显示标签
    )
    .add(
        '',
        [list(x) for x in zip(v,Faker.values())],
        radius=['20%','75%'],
        center=['75%','50%'],
        rosetype="area",
        label_opts=opts.LabelOpts(is_show=True) #显示标签
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="玫瑰图"))
)
c.render_notebook()

简单柱状图

c=(
    Bar(
        init_opts=opts.InitOpts(
            animation_opts=opts.AnimationOpts(
                animation_delay=1000, #动画延时1s
                animation_easing="elasticOut", #弹性动画
            )
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis('商家A',Faker.values())
    .add_yaxis('商家B',Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="主标题",
            subtitle="副标题"
        )
    )
    
)
c.render_notebook()

添加背景图:

c=(
    Bar(
        init_opts=opts.InitOpts(
            animation_opts=opts.AnimationOpts(
                animation_delay=1000, #动画延时1s
                animation_easing="elasticOut", #弹性动画
            ),
            bg_color={
                "image":JsCode("img"),
                "repeat":"no-repeat"
                
            }
        )
    )
    .add_xaxis(Faker.choose())
    .add_yaxis('商家A',Faker.values())
    .add_yaxis('商家B',Faker.values())
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="主标题",
            subtitle="副标题"
        )
    )
    
)

c.add_js_funcs(
    """
        let img=new Image()
        img.src="https://desk-fd.zol-img.com.cn/t_s960x600c5/g5/M00/02/03/ChMkJlbKxn-IPFMIAAibSdTT_UYAALHmAKIEH0ACJth212.jpg"
    """
)
c.render_notebook()

堆叠柱状图

想让图形堆叠,stack名字应一致

c=(
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis('商家A',Faker.values(),stack="aaa")
    .add_yaxis('商家B',Faker.values(),stack="aaa")
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="堆叠柱状图",
            subtitle="副标题"
        ),
        #旋转
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),
        #缩放
        datazoom_opts=[
            opts.DataZoomOpts(), #x轴拖拉缩放
            opts.DataZoomOpts(type_="inside") #鼠标或滚轮缩放
        ]
    )
    
)
c.render_notebook()

条形图和直方图

条形图:

c=(
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis('商家A',Faker.values())
    .add_yaxis('商家B',Faker.values())
    
    #翻转轴,变成条形图
    .reversal_axis()
    
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="条形图"
        )
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(position="right")
    )

)
c.render_notebook()

直方图:

调整不同系列柱子之间的距离:

c=(
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis('商家A',Faker.values(),gap="0%")
    .add_yaxis('商家B',Faker.values(),gap="0%")
    
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="柱状图"
        )
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(position="right")
    )

)
c.render_notebook()

 单系列柱子之间的间距:

c=(
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis('商家A',Faker.values(),category_gap="0%")
    
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="柱状图"
        )
    )
    .set_series_opts(
        label_opts=opts.LabelOpts(position="right")
    )

)
c.render_notebook()

JsCode自定义柱状颜色

color_func="""
    function(params){
        if(params.value>0 && params.value<50){
            return "red";
        }
        else if(params.value>50 && params.value<100){
            return "green";
        }
        return "blue";
    }
"""
c=(
    Bar()
    .add_xaxis(Faker.choose())
    .add_yaxis(
        "商家A",
        Faker.values(),
        itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_func))
    )
)
c.render_notebook()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/637926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SD SD-DN 外向交货单保存后增强点

外向交货单保存后 下发外围系统 se18:LE_SHP_DELIVERY_PROC 在se19:ZSHP_DELIVERY_PROC_2

傅里叶变换与线性变换

线性变换及其矩阵 傅里叶变换 欧拉公式 傅里叶变换和逆傅里叶变换 傅里叶变换&#xff0c;有史以来最伟大的数学发现之一&#xff0c;理解其背后的直觉 https://baijiahao.baidu.com/s?id1711309753031579562&wfrspider&forpc

Web自动化测试:测试用例断言

运行测试用例时&#xff0c;需要判断用例是否执行成功&#xff0c;此时需要有一个我们期望的结果来进行验证。这里unittest中&#xff0c;如果一个case执行的过程中报错&#xff0c;或者我们判断结果不符合期望&#xff0c;就会判定此条用例执行失败&#xff0c;判断的条件主要…

001、体系结构之概述

1.TiDB简介 TiDB 是 PingCAP 公司⾃主设计、研发的开源分布式关系型数据库&#xff0c;是⼀款同时⽀持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing,HTAP) 的融合型分布式数据库产品&#xff0c;具备⽔平扩容或者缩容、⾦融级⾼可⽤、实时HTA…

【软件测试】自动化测试常见问题(总结),我不再背锅...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、为什么要进行自…

红外感应水龙头方案,低功耗红外模块,支持探侦测学习WTU201F2

随着科技不断进步&#xff0c;智能化设备在各个领域得到了广泛的运用&#xff0c;红外感应智能化水龙头方案正在成为趋势&#xff0c;不仅为人们的生活带来了更多的便利性和舒适性&#xff0c;还能节约一定水资源。 在红外测距方案这个领域中&#xff0c;低功耗、抗干扰性强、…

Java教程:若依框架自带导出功能如何实现相同值合并单元格功能

----这段时间一直在用若依的框架做开发&#xff0c;非常方便&#xff0c;其中自带了导入导出功能&#xff0c;但默认的导出只能是一条一条数据&#xff0c;没有合并行功能&#xff0c;于是就在若依的gitee提交仓库请求中找到了这个方案&#xff0c;使用简单&#xff0c;步骤如下…

制冷机UL563测试?亚马逊美国站要求卖家提供UL测试报告!

制冰机是一种将水通过蒸发器由制冷系统制冷剂冷却后生成冰的制冷机械设备&#xff0c;采用制冷系统&#xff0c;以水载体&#xff0c;在通电状态下通过某一设备后制造出冰。 为什么做UL测试报告&#xff1a; 电子产品乃是亚马逊美国站的销售NO1&#xff0c;亚马逊电子产品的卖…

【更新日志 v3.5.1】WRITE-BUG数字空间

保存草稿功能失效 文件贴标签功能失效 ⚙ 功能优化 圈子排序优化 ✅ v3.4.1 更新日志 2023年4月11日 &#x1f60e; 新增功能 内容分页 加载更多学习圈功能 &#x1f47e; bug修复 修复标签hover消失 批注抖动bug 编辑器bug 列表显示全部成员 系统通知修复 代码仓库显示问题 ⚙…

Vision Transformer综述 part II

Vision Transformer综述 1. Transformer简介2. Transformer组成2.1 Self-AttentionMulti-Head Attention&#xff08;多头注意力&#xff09; 2.2 Transformer的其他关键概念2.2.1 Feed-Forward Network 前馈网络2.2.2 Residual Connection 残差连接2.2.3 解码器中的最后一层 3…

Html 下拉选择框 按钮 块

下拉选择框标签 下拉选择框标签&#xff1a;<select></select> 属性描述&#xff1a; 下拉选择框选择标签&#xff1a;<option></option> 属性详情&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"…

新畅美容美发平台V2.1.18 公众号+小程序【平台订单辅助+平台取号+门店插件+平台收银插件】

新畅美容美发平台是一款专注于美容美发等行业的小程序平台【微擎模块版】&#xff0c;专注于提供服务预约行业问题解决方案&#xff0c;涵盖预约服务&#xff0c;商品购买&#xff0c;会员系统&#xff0c;套餐卡项购买&#xff0c;积分商城&#xff0c;商家营销&#xff0c;文…

临近毕业招聘季,BOSS直聘依然困在营销里

临近毕业招聘季&#xff0c;BOSS直聘依然困在营销里。 近日&#xff0c;看准科技有限公司&#xff08;下称&#xff1a;“BOSS直聘”&#xff0c;NASDAQ&#xff1a;BZ&#xff09;公布了2023年一季度财报。 5月25日&#xff0c;财报公布后的首个交易日&#xff0c;其股价下跌…

软件问题解决:Origin的续期使用_导出的图片带有水印

问题&#xff1a; 我们在下载了Origin官方版本的时候&#xff0c;需要通过使用验证码进行验证&#xff0c;否则只能使用几天的时间&#xff0c;时间一旦过了就不能够正常使用了&#xff08;如导出的图片带有水印&#xff09;&#xff0c;为此给出的解决方案如下。 解决方案&am…

JDK8 中 ConcurrentHashMap 变化

结构简单&#xff1a;JDK8 抛弃 JDK7 的 Segment 分段锁机制&#xff0c;由 JDK7 的两级数组变回了原来的一级数组。链表长度>8&#xff0c;该链表转换为红黑树。 降低锁的粒度&#xff1a;锁住数组的每个桶的头结点&#xff0c;锁粒度更小。&#xff08;Hashtable 是锁住整…

新型糖基化氨基酸:Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH,化学CAS号174783-92-7

●英文名&#xff1a;Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH ●外观以及性质&#xff1a; Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH中通过对蛋白进行复杂蛋白糖基化修饰&#xff0c;细胞产生了极大丰度的蛋白质类型&#xff1b;通过对各类糖基…

适合做读书笔记的工具 这款APP满足你的笔记需求

说到读书&#xff0c;就免不了要提到读书笔记。很多人认为&#xff0c;边读书边做笔记才能更好地帮助我们更深入地理解和记忆所读的书籍内容。通过记录书中的重要观点、论据、事实和例子&#xff0c;我们可以更好地掌握书中的知识和思想&#xff0c;而不是仅仅浏览、快速阅读或…

window环境下有事无法下载sentry-cli.exe包解决方案

报错&#xff1a;Error: Unable to download sentry-cli binary from解决方案&#xff1a;查看下载配置 可通过修改SENTRYCLI_CDNURL来改变下载包的地址&#xff0c;手动把包下载下来&#xff0c;然后更改地址 window可以使用&#xff1a;set SENTRYCLI_CDNURLxxx&& n…

led显示屏是如何扫描驱动的

LED显示屏的扫描驱动是指将图像信号分解并按行或按列逐行/逐列地驱动LED点阵&#xff0c;以显示完整的图像。以下是LED显示屏常见的两种扫描驱动方式&#xff1a; 静态扫描驱动&#xff1a; 静态扫描驱动是最简单和最常见的驱动方式。在静态扫描驱动中&#xff0c;每个LED像素都…