十四.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;尤其是在医学图像处理的…

每日一题 --- 两数之和[力扣][Go]

两数之和 题目&#xff1a;1. 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案…

深入理解 Java 序列化中的 readResolve() 方法

深入理解 Java 序列化中的 readResolve() 方法 在 Java 编程中&#xff0c;序列化是一个将对象状态转换为字节流以便存储或传输的过程&#xff0c;而反序列化则是将这些字节流恢复为原始对象状态的过程。Java 提供了强大的序列化机制&#xff0c;使得开发者能够轻松地处理对象…

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

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

全量知识系统 详细设计 之preserving (百度AI助手QA)

Q1. 1、三种对象三种库&#xff1a;python 数据对象 none对象: 对等立方体&#xff08;PQR&#xff09; ole对象Y 。 pqr均为立体库&#xff08;工厂级的&#xff09;&#xff1b;Java 类对象 Empty对象 &#xff1a;公差立方体(XYZ ) 值对象C。 xyz均为线库&#xff08;车间…

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

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

Java language programming:求学生的平均身高

题目&#xff1a; 从键盘输入若干个人的身高&#xff0c;计算出平均身高&#xff08;平均身高为int类型&#xff09;。当输入身高值为0时&#xff0c;表示输入结束。 输入格式: 输入若干个人的身高值输入在同一行&#xff0c;用空格分隔。 输出格式: 按照输出样例格式输出平均…

共享内存 - windows平台和linux平台的不同处理

1.各个平台下的共享内存的使用方法 共享内存主要用来进行模块分割&#xff0c;复杂性隔离的用途。python这类跨平台平台其实是无法完全消弭各个平台间的个体差异&#xff0c;一个简单的例子&#xff1a; import posix_ipc import mmap# 创建或打开共享内存 shm posix_ipc.Sh…

matlab 坐标系变换

文章目录 对象轴角 axis-angles欧拉角 Euler angles四元数 quaternion旋转矩阵 rotation matrices齐次变换矩阵 Homogeneous Transformation坐标系换算 Coordinate Conversions图变换 Plot Transformations对象 对象含义se2SE(2)齐次变换矩阵se3SE(3)齐次变换矩阵so2SO(2)旋转s…

内存泄漏检查工具下载(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&…

面向对象设计之开闭原则

设计模式专栏&#xff1a; http://t.csdnimg.cn/4Mt4u 目录 1.引言 2.如何理解“对扩展开放、对修改关闭” 3.修改代码就意味着违反开闭原则吗 4.如何做到“对扩展开放、对修改关闭” 5.如何在项目中灵活应用开闭原则 6.总结 1.引言 开闭原则(Open Closed Principle&…

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

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