使用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实现zencart产品数据导入到magento(python导入数据)
Apr 03 Python
python实现文件分组复制到不同目录的例子
Jun 04 Python
python脚本实现分析dns日志并对受访域名排行
Sep 18 Python
批处理与python代码混合编程的方法
May 19 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
Python Queue模块详细介绍及实例
Dec 27 Python
Python的装饰器使用详解
Jun 26 Python
Java分治归并排序算法实例详解
Dec 12 Python
Python利用pandas处理Excel数据的应用详解
Jun 18 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
Dec 11 Python
Django单元测试中Fixtures用法详解
Feb 25 Python
PyTorch的Debug指南
May 07 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 CLI模式下的多进程应用分析
2013/06/03 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
php字符串截取函数用法分析
2014/11/25 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
Angular 封装并发布组件的方法示例
2018/04/19 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python multiprocessing模块中的Pipe管道使用实例
2015/04/11 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
简单实现python数独游戏
2018/03/30 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
2015/01/01 HTML / CSS
英国HYPE双肩包官网:英国本土时尚潮牌
2018/09/26 全球购物
质检的岗位职责
2013/11/17 职场文书
法律六进活动方案
2014/03/13 职场文书
八项规定对照检查材料
2014/08/31 职场文书
2014年工程师工作总结
2014/11/25 职场文书
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android