使用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实现3行代码解简单的一元一次方程
Aug 18 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
python生成excel的实例代码
Nov 08 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
在pandas中一次性删除dataframe的多个列方法
Apr 10 Python
python事件驱动event实现详解
Nov 21 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
Mar 09 Python
Python脚本导出为exe程序的方法
Mar 25 Python
彻底解决Python包下载慢问题
Nov 15 Python
pytorch实现ResNet结构的实例代码
May 17 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
Jun 26 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 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
php5 and xml示例
2006/11/22 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
thinkphp下MySQL数据库读写分离代码剖析
2017/04/18 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
2020/04/06 PHP
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
javascript中检测变量的类型的代码
2010/12/28 Javascript
在多个页面使用同一个HTML片段的代码
2011/03/04 Javascript
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
JQuery中form验证出错信息的查看方法
2013/10/08 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
js post提交调用方法
2014/02/12 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
js密码强度检测
2016/01/07 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
2018/07/30 Javascript
利用Vue构造器创建Form组件的通用解决方法
2018/12/03 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
原生js实现购物车
2020/09/23 Javascript
Python打印scrapy蜘蛛抓取树结构的方法
2015/04/08 Python
Python操作csv文件实例详解
2017/07/31 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
python和c语言的主要区别总结
2019/07/07 Python
python实现梯度下降法
2020/03/24 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
如何用Lucene索引数据库
2016/02/23 面试题
《守株待兔》教学反思
2014/03/01 职场文书
物流管理专业毕业生自荐信
2014/03/04 职场文书
节能标语大全
2014/06/21 职场文书
写给医生的感谢信
2015/01/22 职场文书
试用期辞职信范文
2015/03/02 职场文书
2015年采购工作总结
2015/04/10 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis