使用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进阶教程之函数对象(函数也是对象)
Aug 30 Python
详解Python中DOM方法的动态性
Apr 11 Python
在Python中的Django框架中进行字符串翻译
Jul 27 Python
Python线程创建和终止实例代码
Jan 20 Python
python批量导入数据进Elasticsearch的实例
May 30 Python
python 二维数组90度旋转的方法
Jan 28 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
python实现TCP文件传输
Mar 20 Python
用python写爬虫简单吗
Jul 28 Python
如何通过python计算圆周率PI
Nov 11 Python
解决numpy和torch数据类型转化的问题
May 23 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
php数据库连接
2006/10/09 PHP
php4的session功能评述(一)
2006/10/09 PHP
php方法调用模式与函数调用模式简例
2011/09/20 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
2013/07/05 PHP
js left,right,mid函数
2008/06/10 Javascript
JavaScript中的onerror事件概述及使用
2013/04/01 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
深入理解Angular4中的依赖注入
2017/06/07 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
解决Vue使用swiper动态加载数据,动态轮播数据显示白屏的问题
2018/09/27 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
Python使用Scrapy爬取妹子图
2015/05/28 Python
python中将字典形式的数据循环插入Excel
2018/01/16 Python
python2.7安装图文教程
2018/03/13 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
办理生育手续介绍信
2014/01/14 职场文书
小学英语教学反思
2014/01/30 职场文书
起诉书格式范文
2015/05/20 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
Filebeat 采集 Nginx 日志的方法
2021/03/31 Servers
Javascript中的解构赋值语法详解
2021/04/02 Javascript
MySQL中的引号和反引号的区别与用法详解
2021/10/24 MySQL
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫