十四.PyEcharts基础学习

目录

1-PyEcharts介绍

优点:

安装:

官方文档:

2-PyEcharts快速入门

2.1 第一个图表绘制

2.2 链式调用

2.3 opeions配置项

2.4 渲染图片文件

2.5 使用主题

3-PyEcharts配置项

3.1 初始化配置项InitOpts

InitOpts

3.2 全局配置项set_global_opts

标题配置TitleOpts

图例配置LegendOpts

常见图标:

工具箱配置ToolboxOpts

视觉映射配置VisualMapOpts

提示框配置:TooltipOpts

区域缩放配置:DataZoomOpts



1-PyEcharts介绍

Echarts是一个由百度开源数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。

而Python 是一门富有表达力的语言,很适合用于数据处理。

当数据分析遇上数据可视化时,pyecharts诞生了。

Echarts是用JS来写的,而我们使用pyecharts则可以使用Python来调用里面的API

优点:

1、简洁的 API 设计,使用如丝滑般流畅,支持链式调用.

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

3、支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab.

4、可轻松集成至 Flask,Django 等主流 Web 框架.

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

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

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

安装:

pip install pyecharts==1.9.1

官方文档:

pyecharts - A Python Echarts Plotting Library built with love.


2-PyEcharts快速入门

pyecharts中可以绘制的图有很多,这里我们先来总体的了解一下他的使用风格,和调用的方式。有宏观的理解后,再具体学习具体图形的绘制。

2.1 第一个图表绘制

from pyecharts.charts import Bar

from pyecharts.charts import Bar
​
# Bar绘制柱状图
bar = Bar()
bar.add_xaxis(["苹果","华为","联想","三星","小米"])
bar.add_yaxis("淘宝",[12000,8000,6000,14000,4000])
bar.add_yaxis("京东",[13000,7500,4000,12000,6000])
​
# render 默认渲染成html
bar.render()    #'可传文件名--保存'
# 在notebook中展示
bar.render_notebook()

2.2 链式调用

--上面代码的简化版.更方便.

bar = (Bar()   #创建对象.#注意:这里是  点.add_xaxis(["苹果","华为","联想","三星","小米"]).add_yaxis("淘宝",[12000,8000,6000,14000,4000]).add_yaxis("京东",[13000,7500,4000,12000,6000])
)
bar.render_notebook()

2.3 opeions配置项

全局/局部/初始化

from pyecharts import options as opts
from pyecharts import options as opts
​
bar = (Bar().add_xaxis(["苹果","华为","联想","三星","小米"]).add_yaxis("淘宝",[12000,8000,6000,14000,4000]).add_yaxis("京东",[13000,7500,4000,12000,6000])
#            set_global_opts:全局配置  title_opts:标题.set_global_opts(title_opts=opts.TitleOpts(title="主标题1",subtitle="副标题1"))
#     .set_global_opts(title_opts={"text":"主标题2","subtext":"副标题2"})
​
)
bar.render_notebook()

2.4 渲染图片文件

--正常保存下来的图片(png/jpg)的背景是没有进行渲染的.

from pyecharts.render import make_snapshot
# pip install snapshot_selenium
from snapshot_selenium import snapshot
#这里要用到自动化,浏览器自动化别忘了~~
bar = (Bar().add_xaxis(["苹果","华为","联想","三星","小米"]).add_yaxis("淘宝",[12000,8000,6000,14000,4000]).add_yaxis("京东",[13000,7500,4000,12000,6000])
​
)
make_snapshot(snapshot,bar.render(),"bar.png")

2.5 使用主题

  • 默认主题类型为WHITE

  • 内置主题类型包括LIGHT、DARK、CHALK、ESSOS、INFOGRAPHIC、MACARONS、PURPLE_PASSION、ROMA、ROMANTIC、SHINE、VINTAGE、WALDEN、WESTEROS、WONDERLAND

  • 可参考官方文档:pyecharts - A Python Echarts Plotting Library built with love.

from pyecharts.globals import ThemeType
​
bar = (Bar(#对象里面设置主题(配置项)init_opts=opts.InitOpts(theme=ThemeType.DARK)).add_xaxis(["苹果","华为","联想","三星","小米"]).add_yaxis("淘宝",[12000,8000,6000,14000,4000]).add_yaxis("京东",[13000,7500,4000,12000,6000])
​
)
bar.render_notebook()

3-PyEcharts配置项

3.1 初始化配置项InitOpts

  • InitOpts
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType, RenderType
​
# 生成同一属性的七个值
Faker.choose()      #Faker ---> 类似于random   #快速创建,方便啊.
# 生成随机的七组数
Faker.values()
​
bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",renderer=RenderType.CANVAS,     #渲染风格page_title="商品价格对比",theme=ThemeType.WESTEROS,   #主题bg_color="white",          #背景颜色)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values())
)
bar.render_notebook()

3.2 全局配置项set_global_opts

标题配置TitleOpts

bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# TitleOpts:标题title_opts=opts.TitleOpts(title="价格对比柱状图",title_link="https://www.taobao.com",  # 点击主标题的跳转链接!!!#在哪个窗口打开.title_target="blank",  # blank:新窗口打开   self:当前窗口打开#主要是主标题的跳转.# subtitle="副标题",# subtitle_link="https://www.taobao.com",# subtitle_target="blank",# 位置 靠左 pos_left="20px",pos_top="30px",padding=5,   # 内边距item_gap=5, # 主副标题之间的距离))
)
bar.render_notebook()

图例配置LegendOpts

常见图标:

circle(圆),rect(矩形),roundRect(圆弧矩形),triangle(三角形),diamond(棱形) ,pin(坐标) arrow(位置)

bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# LegendOpts 图例配置项legend_opts=opts.LegendOpts(type_="plain",  # 图例类型  plain普通图例    scroll:滚动翻页图例(图例很多)is_show=True,   # 是否显示图例pos_left="90%", # 图例的位置orient="veritica",  # veritica(垂直)或者horizontal(水平)item_gap=5,      # 图例之间的距离item_width=30,   # 图例的宽度item_height=10,   # 图例的高度# pyecharts常见图标 legend_icon="triangle"))
)
bar.render_notebook()

工具箱配置ToolboxOpts

bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# TooltipOpts:提示框配置项toolbox_opts=opts.ToolboxOpts(is_show=True,pos_right="10"))
)
bar.render_notebook()

视觉映射配置VisualMapOpts

bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# VisualMapOpts:视觉映射visualmap_opts=opts.VisualMapOpts(is_show=True,  # 显示映射条type_="color", # color颜色 size大小min_=0,max_=150,range_opacity=0.8,          # 透明度range_text=["mix","min"],    # 最大最小值文本range_color=["blue","green","red"],  #过度值颜色orient="horizontal",    # 对齐方式# veritica(垂直)或者horizontal(水平)is_piecewise=True       #分段展示))
)
bar.render_notebook()

提示框配置:TooltipOpts

  bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# TooltipOpts:提示框配置项(这里面的设置都是提示框的)tooltip_opts=opts.TooltipOpts(is_show=True,  # 是否显示内容trigger_on="click",       #触发事件: mousemove 鼠标移动 / click 鼠标点击formatter="{a}:{b}:{c}",  # 内容格式:a-系列名 b-数据名  c-值background_color="red",   # 背景颜色border_color="green",     # 边框颜色border_width=2,           # 边框宽度)))bar.render_notebook()

区域缩放配置:DataZoomOpts

bar = (Bar(# init_opts:初始化配置项init_opts=opts.InitOpts(# 画布大小 单位像素width="700px",height="500px",)).add_xaxis(Faker.choose()).add_yaxis("淘宝",Faker.values()).add_yaxis("天猫",Faker.values()).add_yaxis("京东",Faker.values()).set_global_opts(# DataZoomOpts:区域缩放配置项.datazoom_opts=opts.DataZoomOpts(is_show=True,      # 开启区域缩放type_= "slider",   # 托条的类型 slider 和 inside(这个要用鼠标滚动,不好玩)is_realtime=True, # 拖动是否实时跟新.range_start=20,    # 拖动起始位置 单位百分比range_end=80,      # 拖动结束位置 单位百分比is_zoom_lock=True  # 是否锁定拖拽区域.(能否放大放小)  ))
)
bar.render_notebook()


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

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

相关文章

京东云明修“价格战”,暗渡“政企云”

文|白 鸽 编|王一粟 云计算行业越来越“卷”,一边卷大模型,一边卷价格。 2024 刚一开年,阿里云就宣布百余款产品大降价,最高降幅达55%。在阿里云宣布降价后,京东云紧随其后宣布&#xff0…

80C51实现四种流水灯流水灯 | 自用学习笔记

单个流水灯 #include <reg51.h> #include <intrins.h> // 包含移位库函数的头文件void delay(void) // 定义延时函数 {unsigned char i, j;for(i 0; i < 200; i) // 循环延时&#xff0c;延时约50msfor(j 0; j < 125; j); }void main(void){ unsigned ch…

AcWing刷题-游戏

游戏 DP l lambda: [int(x) for x in input().split()]n l()[0] w [0] while len(w) < n:w l()s [0] * (n 1) for i in range(1, n 1): s[i] s[i - 1] w[i]f [[0] * (n 1) for _ in range(n 1)]for i in range(1, n 1): f[i][i] w[i]for length in range(2, …

[BT]BUUCTF刷题第13天(4.1)

第13天 Upload-Labs-Linux (Basic) Pass-01 根据题目提示&#xff0c;该题为绕过js验证。 一句话木马&#xff1a; <?php eval(system($_POST["cmd"]));?> // 符号 表示后面的语句即使执行错误&#xff0c;也不报错。 // eval() 把括号内的字符串全部…

rtsp协议详解-最详细的流媒体传输协议

流媒体传输协议-rtsp协议详解 rtsp RTSP出现以前&#xff0c;最热的大概就是HTTP协议。想象一下&#xff0c;当你需要欣赏网络中的某一段视频&#xff0c;通过HTTP协议访问其URL、开始下载、下载完成后播放。对于早期的视频采集设备、网络带宽或是负责渲染的显示器而言&#…

Redis中的复制功能(一)

复制 概述 在Redis中&#xff0c;用户可以通过执行SLAVEOF命令或者设置slaveof选项&#xff0c;让一个服务器去复制(replicate)另一个服务器&#xff0c;我们称呼被复制的服务器为主服务器(master)&#xff0c;而对主服务器进行复制的服务器则被称为从服务器(slave),如图所示…

关于list的那些事

1.什么是List 在集合框架中&#xff0c;List是一个接口&#xff0c;继承自Collection。 Collection也是一个接口&#xff0c;该接口中规范了后序容器中常用的一些方法具体如下所示 Iterable也是一个接口&#xff0c;表示实现该接口的类是可以逐个元素遍历的&#xff0c;具体如…

深度学习| DiceLoss解决图像数据不平衡问题

图像数据不平衡问题 图像数据不平衡&#xff1a;在进行图像分割时&#xff0c;二分类问题中&#xff0c;背景过大&#xff0c;前景过小&#xff1b;多分类问题中&#xff0c;某一类别的物体体积过小。在很多图像数据的时候都会遇到这个情况&#xff0c;尤其是在医学图像处理的…

SSM框架学习——Spring的控制反转IoC与依赖注入DI

控制反转IoC与依赖注入DI 概念 提到Spring首先想到的肯定是Spring的IoC容器了。在了解Spring的用法之前我们必须了解什么是控制反转IoC和依赖注入DI。 **控制反转&#xff08;Inversion of Control&#xff09;**是面向对象编程中的一种设计原则&#xff0c;它建议将不需要的…

【软考】系统集成项目管理工程师(二十二)法律法规【2分】

一、合同法 1、内容 当事人的名称或者姓名和住所、标的、数量、质量、价款或者报酬&#xff1b;履行期限、地点和方式&#xff1b;违约责任和解决争议的方法 练一练 【例1-高16下】格式条款是当事人为了重复使用而预先拟定&#xff0c;并在订立合同时未与对方协商的…

内存泄漏检查工具下载(vld)

前言&#xff1a;在我们向内存申请动态空间的时候&#xff0c;如果使用完之后不将申请的空间释放&#xff0c;就会造成内存泄漏的情况&#xff0c;但是一般情况下&#xff0c;我们是无法通过运行代码来知道是否造成了内存泄漏&#xff0c;所以vld就成为了检查内存是否泄漏的好帮…

rocketMQ中store目录解释

rocketMQ中有个store目录&#xff0c;它是用来存放和管理broker中的消息&#xff0c;queue和topic的。 下面的是store的目录 abort&#xff1a;该文件在broker启动后会自动创建&#xff0c;broker关闭后消失&#xff0c;若没有消失则说明该broker非正常关闭。 checkpoint&…

Python多任务处理---多线程

引入 生活中&#xff0c;我们在电脑上打开了一个word, 这个word对操作系统来说就是一个进程。我们在进行word操作的时候&#xff0c;比如在你打字的时候&#xff0c;该word同时可以进行文字检查。发现了没&#xff0c;在同一个进程中&#xff0c;我们也可以进行同时操作。…

Acwing.731 毕业旅行问题(状态压缩动态规划)

题目 小明目前在做一份毕业旅行的规划。 打算从北京出发&#xff0c;分别去若干个城市&#xff0c;然后再回到北京&#xff0c;每个城市之间均乘坐高铁&#xff0c;且每个城市只去一次。 由于经费有限&#xff0c;小明希望能够通过合理的路线安排尽可能的省些路上的花销。 …

【C++进阶】二叉搜索树(来自二叉树的复仇)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 [本节目标] 1. 二叉搜索树…

MyBatis 参数重复打印的bug

现象 最近有个需求&#xff0c;需要在mybatis对数据库进行写入操作的时候&#xff0c;根据条件对对象中的某个值进行置空&#xff0c;然后再进行写入&#xff0c;这样数据库中的值就会为空了。 根据网上查看的资料&#xff0c;选择在 StatementHandler 类执行 update 的时候进…

C++之调用Python

1、配置头文件 Python安装目录下的include目录加入头文件目录。Visual Studio2022中操作路径是&#xff1a;属性–> C/C -> 常规-> 附加包含目录 C:\Users \AppData\Local\Programs\Python\Python39\include 2、配置lib库目录 要将Python39.lib加入编译链接。Visua…

neo4j使用详解(七、cypher数学函数语法——最全参考)

Neo4j系列导航&#xff1a; neo4j及简单实践 cypher语法基础 cypher插入语法 cypher插入语法 cypher查询语法 cypher通用语法 cypher函数语法 5.数学函数 5.1.数值函数 数学函数仅对数字表达式进行运算&#xff0c;如果对任何其他值使用&#xff0c;将返回错误 abs()&#xf…

Nginx 基础

文章目录 Nginx概念安装下载上传安装包执行准备条件指定安装位置编译和安装启动服务创建启动脚本 linux文件目录nginx运行原理nginx配置域名概念和原理域名配置 Nginx 概念 Nginx 是一个高性能的HTTP和反向代理web服务器&#xff0c;同时也提供了IMAP/POP3/SMTP服务。Nginx是…

【Java八股面试系列】Arraylist和HashMap的底层原理

文章目录 ArrayList源码总&#xff1a;构造方法扩容机制remove HashMap总&#xff1a;构造方法细节问题putVal()方法resize()方法Hash值 HashMap常见问题 ConcurrentHashMap总&#xff1a;putVal()方法自己的测试 为什么重写HashCode和equals ArrayList源码 总&#xff1a; *…