使用pyecharts1.7进行简单的可视化大全


Posted in Python onMay 17, 2020

近期,又有接触到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("收入情况")

效果图:

使用pyecharts1.7进行简单的可视化大全

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

#效果图:

使用pyecharts1.7进行简单的可视化大全

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

效果展示:

使用pyecharts1.7进行简单的可视化大全

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

效果演示

使用pyecharts1.7进行简单的可视化大全

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

效果图演示

使用pyecharts1.7进行简单的可视化大全

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

演示效果:

使用pyecharts1.7进行简单的可视化大全

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

查看效果:

使用pyecharts1.7进行简单的可视化大全

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

效果图:

使用pyecharts1.7进行简单的可视化大全

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

效果图如下:

使用pyecharts1.7进行简单的可视化大全

到此这篇关于使用pyecharts1.7进行简单的可视化大全的文章就介绍到这了,更多相关pyecharts1.7 可视化内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
实例Python处理XML文件的方法
Aug 31 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
python自动12306抢票软件实现代码
Feb 24 Python
tensorflow更改变量的值实例
Jul 30 Python
python实现根据指定字符截取对应的行的内容方法
Oct 23 Python
python实现图书借阅系统
Feb 20 Python
基于python实现蓝牙通信代码实例
Nov 19 Python
python列表的逆序遍历实现
Apr 20 Python
Python实现进度条和时间预估的示例代码
Jun 02 Python
Python过滤掉numpy.array中非nan数据实例
Jun 08 Python
python使用yaml 管理selenium元素的示例
Dec 01 Python
Python离线安装openpyxl模块的步骤
Mar 30 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 #Python
VSCode配合pipenv搞定虚拟环境的实现方法
May 17 #Python
Python Pandas 对列/行进行选择,增加,删除操作
May 17 #Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 #Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 #Python
python 实现PIL模块在图片画线写字
May 16 #Python
在python image 中实现安装中文字体
May 16 #Python
You might like
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
Javascript开发包大全整理
2006/12/22 Javascript
javascript Select标记中options操作方法集合
2008/10/22 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
js实现从中间开始往上下展开网页窗口的方法
2015/03/02 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
2015/12/03 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
jquery实现界面无刷新加载登陆注册
2016/07/30 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
深入掌握 react的 setState的工作机制
2017/09/27 Javascript
学习Vue组件实例
2018/04/28 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
Python中每次处理一个字符的5种方法
2015/05/21 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Django自定义用户认证示例详解
2018/03/14 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
python3.x实现base64加密和解密
2019/03/28 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
Python中qutip用法示例详解
2020/10/02 Python
Python的Tqdm模块实现进度条配置
2021/02/24 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
业务主管岗位职责范本
2013/12/25 职场文书
本科生就业推荐信
2014/05/19 职场文书
信仰心得体会
2014/09/05 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
Go语言的协程上下文的几个方法和用法
2022/04/11 Golang