使用pyecharts1.7进行简单的可视化大全
作者:theskylife 发布时间:2022-02-13 05:02:33
标签:pyecharts,可视化
近期,又有接触到pyecharts这个包的使用,后面发现这个曾经好用的包发生了一些变化,为了方便大家的使用,这里整理如下:
绘图风格theme:默认WHITE
LIGHT, DARK, WHITE, CHALK, ESSOS, INFOGRAPHIC, MACARONS, PURPLE_PASSION, ROMA, ROMANTIC, SHINE, VINTAGE, WALDEN, WESTEROS, WONDERLAND
1.柱状图绘制
1.1 最基础的柱状图
from pyecharts.charts import Bar,Grid
from pyecharts import options as opts
from pyecharts.globals import ThemeType
import random
import numpy as np
# 准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
#绘图
bar=Bar(init_opts = opts.InitOpts(width='600px',height='400px'))
bar.add_xaxis(name)
bar.add_yaxis("salery",salery)
bar.set_global_opts(title_opts=opts.TitleOpts(title="收入情况"))
#仅在notebook中显示
bar.render_notebook()
#在HTML中显示
bar.render("收入情况")
效果图:
1.2 稍微复杂的柱状图
为了减少代码量,此处不再导入包。绘制收入和消费情况,并使用新风格,并添加副标题,使用新版本的链式写法。
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#绘图
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',theme=ThemeType.LIGHT))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("cost",cost)
.set_global_opts(title_opts=opts.TitleOpts(title="收入及消费情况",subtitle="随机样本"))
)
bar.render_notebook()
#效果图:
1.3 堆叠式柱状图
使用堆叠式柱状图(部分堆叠),并自定义颜色,修改图例的显示位置,不显示数字,改变背景颜色
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',bg_color=colors[-1]))
.add_xaxis(name)
.add_yaxis("salery",salery,stack="stack_one")
.add_yaxis("cost",cost,stack="stack_one")
.add_yaxis("salery_ave",salery_ave)
.set_colors(colors)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="收入、消费及其城市平均收入情况"),
legend_opts=opts.LegendOpts(type_="scroll", pos_right="right", orient="vertical")
)
)
bar.render_notebook()
效果展示:
1.3.1 调整标题与图的位置
grid=Grid()
# 分别调整上下左右的位置,参数为像素值或百分比
grid.add(bar,grid_opts=opts.GridOpts(pos_top="30%",pos_bottom="10%",pos_left="10%",pos_right="10%"))
grid.render_notebook()
效果演示
1.4 绘制簇状图
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',bg_color=colors[-1]))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("salery_ave",salery_ave)
.reversal_axis()
.set_colors(colors)
.set_series_opts(label_opts=opts.LabelOpts(position="right"))
.set_global_opts(title_opts=opts.TitleOpts(title="收入、消费及其城市平均收入情况"),
legend_opts=opts.LegendOpts(type_="scroll", pos_right="right", orient="vertical")
)
)
bar.render_notebook()
效果图演示
1.5 数据量大时的显示方法
#准备数据
name=[chr(i) for i in range(65,85,1)]
salery=[random.randint(3000,5000) for i in range(20)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(20)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#绘图 修改 orient为vertical,可将滑动按钮移动垂直方向
bar=(
Bar(init_opts = opts.InitOpts(width='600px',height='400px',bg_color=colors[-1]))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("salery_ave",salery_ave)
.set_colors(colors)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(title_opts=opts.TitleOpts(title="收入、消费及其城市平均收入情况"),
legend_opts=opts.LegendOpts(type_="scroll", pos_right="right", orient="vertical"),
datazoom_opts=[opts.DataZoomOpts(type_="slider")]
)
)
bar.render_notebook()
演示效果:
2.绘制散点图
2.1 普通散点图
import random
from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.globals import ThemeType
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
scatter=(Scatter(init_opts = opts.InitOpts(width='600px',height='400px',theme=ThemeType.DARK))
.add_xaxis(name)
.add_yaxis("salery",salery)
.add_yaxis("cost",cost)
.set_global_opts(title_opts=opts.TitleOpts(title="收入与消费情况")))
scatter.render_notebook()
查看效果:
2.2 3D散点图绘制
import random
from pyecharts import options as opts
from pyecharts.charts import Scatter3D
from pyecharts.faker import Faker
#准备数据
data = [(random.randint(0,100),random.randint(0,100),random.randint(0,100)) for i in range(50)]
name=["长","宽","高"]
#绘图
scatter3D=Scatter3D(init_opts = opts.InitOpts(width='600px',height='400px')) #初始化
scatter3D.add(name,data,
grid3d_opts=opts.Grid3DOpts(
width=100, depth=100
))
scatter3D.set_global_opts(title_opts=opts.TitleOpts(title="散点图"),
visualmap_opts=opts.VisualMapOpts(
range_color=Faker.visual_color #颜色映射
))
scatter3D.render_notebook()
效果图:
2.3 带涟漪的散点图
symbol的类型:
“pin”,“rect”,“roundRect”,“diamond”,“arrow”,“triangle”
import random
from pyecharts import options as opts
from pyecharts.charts import EffectScatter
from pyecharts.globals import ThemeType
#准备数据
name=["A","B","C","D"]
salery=[random.randint(3000,5000) for i in range(4)]
cost=[random.randint(1000,2000) for i in range(4)]
#所在城市平均薪水
salery_ave=[random.randint(3000,4000) for i in range(4)]
colors=["#007892","#ff427f","#fc8210","#ffd8a6"]
#进行绘图
scatter=(EffectScatter(init_opts = opts.InitOpts(width='600px',height='400px',theme=ThemeType.DARK))
.add_xaxis(name)
.add_yaxis("salery",salery,symbol="pin",symbol_size=20,symbol_rotate=180)
.add_yaxis("cost",cost,symbol="rect",symbol_size=20)
.set_global_opts(title_opts=opts.TitleOpts(title="收入与消费情况"),
xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)), #添加网格
yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True))
)
.set_series_opts(effect_opts=opts.EffectOpts(scale=3,period=2)) #调整涟漪的范围和周期
)
scatter.render_notebook()
效果图如下:
来源:https://blog.csdn.net/qq_41780234/article/details/106136377


猜你喜欢
- 引入:通常,钓鱼网站本质是本质搭建一个跟正常网站一模一样的页面,用户在该页面上完成转账功能转账的请求确实是朝着正常网站的服务端提交,唯一不同
- 前言:日常工作中,会遇到一些加密的zip文件,但是因为某些原因或者时间过长,密码不知道了。但是zip文件中文件有很重要很必须。那么,我们试一
- 一、演示效果b站:虎年烟花演示二、python代码import pygamefrom math import *from pygame.lo
- 本文主要讨论如何计算 tensorflow 和 pytorch 模型的 FLOPs。如有表述不当之处欢迎批评指正。欢迎任何形式的转载,但请务
- python虚拟环境迁移:注意事项:直接将虚拟环境复制到另一台机器,直接执行是会有问题的。那么可以采用以下办法:思路:将机器1虚拟环境下的包
- 什么是MySQL多实例简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306、3307),同时运行多个Mysql服
- 一直以来,每次调用Ajax方法都需要创建一次 Microsoft.XMLHTTP 对象,今天在使用Ajax技术做一个类似聊天室的
- 本文开篇第一句话,想引用鲁迅先生《祝福》里的一句话,那便是:“我真傻,真的,我单单知道后端整天都是CRUD,我没想到前端整天都是Form表单
- Python实现完整邮件先上效果:一、邮箱端设置首先,要对邮件进行一下设置,在邮箱端获取一个授权码。1、首先登录网页版126邮箱
- 阅读上一章:Chapter 9 精简标签Part 2: Simplebits Of Style 简短精悍的样式Chap
- 一、手动创建添加my.ini文件# CLIENT SECTION# ------------------------------------
- matplotlib简介matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行
- Python3.7引入了dataclass。dataclass装饰器可以声明Python类为数据类;数据类适合用来存储数据,一般而言它具有如
- 一、前言今天有粉丝咨询了一个问题,他现在有两个列表,它们的元素都为字典,且字典都有一个key为id,现在想把这两个字典根据id合并为一个字典
- python 中有6大标准类型:数字(Number)字符串(String)列表(List)元组(Tumple)集合(Set)字典(Dicti
- 开发工具Python版本:3.6.4相关模块:cv2模块;以及一些Python自带的模块。环境搭建安装Python并添加到环境变量,pip安
- 前言看到一个很有意思的项目,其实在之前就在百度飞浆等平台上看到类似的实现效果。可以将照片按照视频的表情,动起来。看一下项目给出的效果。项目地
- 用dicompyler软件打开dicom图像,头文件如图所示:当然也可以直接读取:ds = dicom.read_file('H:\
- 一、前言当我们在django中添加或修改了数据库model后,一般需要执行makemigrations、migrate把我们的model类生
- 模块的相关概念 1. 什么是模块模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块模块的英文名叫: