python pyecharts 实现一个文件绘制多张图


Posted in Python onMay 13, 2020

Grid并行显示多张图

注意: 第一个图需为 有 x/y 轴的图,即不能为 Pie,其他位置顺序任意

from pyecharts import Bar, Line, Scatter, EffectScatter, Grid
'''
 Grid类:并行显示多个图表 TODO 第一个图需为 有 x/y 轴的图,即不能为 Pie,其他位置顺序任意。
'''

attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
bar = Bar("柱状图示例", title_pos="65%")
bar.add("商家A", attr, v1, is_stack=True)
bar.add("商家B", attr, v2, is_stack=True, legend_pos="80%")

line = Line("折线图示例")
attr = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
line.add(
 "最高气温",
 attr,
 [11, 11, 15, 13, 12, 13, 10],
 mark_point=["max", "min"],
 mark_line=["average"],
)
line.add(
 "最低气温",
 attr,
 [1, -2, 2, 5, 3, 2, 0],
 mark_point=["max", "min"],
 mark_line=["average"],
 legend_pos="20%",
)

v1 = [5, 20, 36, 10, 75, 90]
v2 = [10, 25, 8, 60, 20, 80]
scatter = Scatter("散点图示例", title_top="50%", title_pos="65%")
scatter.add("scatter", v1, v2, legend_top="50%", legend_pos="80%")

es = EffectScatter("动态散点图示例", title_top="50%")
es.add(
 "es",
 [11, 11, 15, 13, 12, 13, 10],
 [1, -2, 2, 5, 3, 2, 0],
 effect_scale=6,
 legend_top="50%",
 legend_pos="20%",
)

# TODO 配置Grid类
grid = Grid(height=720, width=1200) # 初始化,参数可传page_title,width,height
grid.add(bar, grid_bottom="60%", grid_left="60%") # 添加要展示的图表,并设置显示位置
grid.add(line, grid_bottom="60%", grid_right="60%") # 添加要展示的图表,并设置显示位置
grid.add(scatter, grid_top="60%", grid_left="60%") # 添加要展示的图表,并设置显示位置
grid.add(es, grid_top="60%", grid_right="60%") # 添加要展示的图表,并设置显示位置

grid.render("./pyecharts_html/Grid_并行显示多张图表.html")

overlap图表混合使用

from pyecharts import Line, Bar, Overlap
'''
 多个x y轴示例
'''

attr = ["{}月".format(i) for i in range(1, 13)]
v1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
v3 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]

bar = Bar()
bar.add("蒸发量", attr, v1)
bar.add("降水量", attr, v2, yaxis_formatter=" ml",
 yaxis_interval=50, yaxis_max=250)

line = Line()
line.add("平均温度", attr, v3, yaxis_formatter=" °C", yaxis_interval=5)

overlap = Overlap(width=1200, height=600) # 实例化
# 默认不新增 x y 轴,并且 x y 轴的索引都为 0
overlap.add(bar)
# 新增一个 y 轴,此时 y 轴的数量为 2,第二个 y 轴的索引为 1(索引从 0 开始),所以设置 yaxis_index = 1
# 由于使用的是同一个 x 轴,所以 x 轴部分不用做出改变
overlap.add(line, yaxis_index=1, is_add_yaxis=True)

overlap.render("./pyecharts_html/Overlap_图表混合.html")

Page一个页面顺序渲染多个图表

from pyecharts import *

page = Page() # 实例化page类

# line
attr = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
line = Line("折线图示例")
line.add("最高气温", attr, [11, 11, 15, 13, 12, 13, 10],
  mark_point=["max", "min"], mark_line=["average"])
line.add("最低气温", attr, [1, -2, 2, 5, 3, 2, 0],
  mark_point=["max", "min"], mark_line=["average"])

page.add(line) # TODO 向page中添加图表

# pie
attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
v1 = [11, 12, 13, 10, 10, 10]
pie = Pie("饼图-圆环图示例", title_pos='center')
pie.add("", attr, v1, radius=[40, 75], label_text_color=None,
 is_label_show=True, legend_orient='vertical', legend_pos='left')

page.add(pie) # TODO 向page中添加图表

# kline
v1 = [[2320.26, 2320.26, 2287.3, 2362.94],
 [2300, 2291.3, 2288.26, 2308.38],
 [2295.35, 2346.5, 2295.35, 2345.92],
 [2347.22, 2358.98, 2337.35, 2363.8],
 [2360.75, 2382.48, 2347.89, 2383.76],
 [2383.43, 2385.42, 2371.23, 2391.82],
 [2377.41, 2419.02, 2369.57, 2421.15],
 [2425.92, 2428.15, 2417.58, 2440.38],
 [2411, 2433.13, 2403.3, 2437.42],
 [2432.68, 2334.48, 2427.7, 2441.73],
 [2430.69, 2418.53, 2394.22, 2433.89],
 [2416.62, 2432.4, 2414.4, 2443.03],
 [2441.91, 2421.56, 2418.43, 2444.8],
 [2420.26, 2382.91, 2373.53, 2427.07],
 [2383.49, 2397.18, 2370.61, 2397.94],
 [2378.82, 2325.95, 2309.17, 2378.82],
 [2322.94, 2314.16, 2308.76, 2330.88],
 [2320.62, 2325.82, 2315.01, 2338.78],
 [2313.74, 2293.34, 2289.89, 2340.71],
 [2297.77, 2313.22, 2292.03, 2324.63],
 [2322.32, 2365.59, 2308.92, 2366.16],
 [2364.54, 2359.51, 2330.86, 2369.65],
 [2332.08, 2273.4, 2259.25, 2333.54],
 [2274.81, 2326.31, 2270.1, 2328.14],
 [2333.61, 2347.18, 2321.6, 2351.44],
 [2340.44, 2324.29, 2304.27, 2352.02],
 [2326.42, 2318.61, 2314.59, 2333.67],
 [2314.68, 2310.59, 2296.58, 2320.96],
 [2309.16, 2286.6, 2264.83, 2333.29],
 [2282.17, 2263.97, 2253.25, 2286.33],
 [2255.77, 2270.28, 2253.31, 2276.22]]
kline = Kline("K 线图示例")
kline.add("日K", ["2017/7/{}".format(i + 1) for i in range(31)], v1)

page.add(kline) # TODO 向page中添加图表

# radar
schema = [
 ("销售", 6500), ("管理", 16000), ("信息技术", 30000),
 ("客服", 38000), ("研发", 52000), ("市场", 25000)
]
v1 = [[4300, 10000, 28000, 35000, 50000, 19000]]
v2 = [[5000, 14000, 28000, 31000, 42000, 21000]]
radar = Radar("雷达图示例")
radar.config(schema)
radar.add("预算分配", v1, is_splitline=True, is_axisline_show=True)
radar.add("实际开销", v2, label_color=["#4e79a7"], is_area_show=False,
  legend_selectedmode='single')

page.add(radar) # TODO 向page中添加图表
page.render("./pyecharts_html/Page_一个页面渲染多张图表.html")

Timeline:时间线轮播多图

from pyecharts import Bar, Line, Timeline, Overlap
from random import randint

attr = ["{}月".format(i) for i in range(1, 7)]
bar = Bar("1 月份数据", "数据纯属虚构")
bar.add("bar", attr, [randint(10, 50) for _ in range(6)])
line = Line()
line.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap = Overlap()
overlap.add(bar)
overlap.add(line)

bar_1 = Bar("2 月份数据", "数据纯属虚构")
bar_1.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_1 = Line()
line_1.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_1 = Overlap()
overlap_1.add(bar_1)
overlap_1.add(line_1)

bar_2 = Bar("3 月份数据", "数据纯属虚构")
bar_2.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_2 = Line()
line_2.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_2 = Overlap()
overlap_2.add(bar_2)
overlap_2.add(line_2)

bar_3 = Bar("4 月份数据", "数据纯属虚构")
bar_3.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_3 = Line()
line_3.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_3 = Overlap()
overlap_3.add(bar_3)
overlap_3.add(line_3)

bar_4 = Bar("5 月份数据", "数据纯属虚构")
bar_4.add("bar", attr, [randint(10, 50) for _ in range(6)])
line_4 = Line()
line_4.add("line", attr, [randint(50, 80) for _ in range(6)])
overlap_4 = Overlap()
overlap_4.add(bar_4)
overlap_4.add(line_4)

timeline = Timeline(
   page_title = "页标签名",
   width=600,
   height=600,
   is_auto_play= True, # 是否自动播放,默认=False
   is_loop_play= True, # 是否循环播放
   is_rewind_play=False, # 反向播放
   is_timeline_show=True, # 是否显示时间线,默认=true
   timeline_play_interval=1000, # 播放间隔,ms
   timeline_symbol= "arrow", # 时间点标记图形, 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
   timeline_symbol_size= [15,8], # 图形大小,可以是数字和列表,列表表示宽高
   timeline_left= "1% ", # 距离左边距离 , timeline_right
   timeline_bottom=0, # timeline_top
  )
timeline.add(overlap, '1 月')
timeline.add(overlap_1, '2 月')
timeline.add(overlap_2, '3 月')
timeline.add(overlap_3, '4 月')
timeline.add(overlap_4, '5 月')
timeline.render("./pyecharts_html/Timeline_时间线轮播多张图表.html")

以上这篇python pyecharts 实现一个文件绘制多张图就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python抓取网页中的图片示例
Feb 28 Python
Python语言描述KNN算法与Kd树
Dec 13 Python
numpy中索引和切片详解
Dec 15 Python
对Python 3.2 迭代器的next函数实例讲解
Oct 18 Python
在python中只选取列表中某一纵列的方法
Nov 28 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
Jan 29 Python
python输出决策树图形的例子
Aug 09 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
python 消除 futureWarning问题的解决
Dec 25 Python
Python自动化测试笔试面试题精选
Mar 12 Python
Python Selenium截图功能实现代码
Apr 26 Python
Python中的程序流程控制语句
Feb 24 Python
Django与pyecharts结合的实例代码
May 13 #Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 #Python
Python爬取阿拉丁统计信息过程图解
May 12 #Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 #Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 #Python
小 200 行 Python 代码制作一个换脸程序
May 12 #Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
May 12 #Python
You might like
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
javascript原型继承工作原理和实例详解
2016/04/07 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
使用JavaScript破解web
2018/09/28 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
小程序中canvas的drawImage方法参数使用详解
2019/07/04 Javascript
javascript的惯性运动实现代码实例
2019/09/07 Javascript
详解Python中的元组与逻辑运算符
2015/10/13 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
基于python实现简单日历
2018/07/28 Python
对python中Json与object转化的方法详解
2018/12/31 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
python压包的概念及实例详解
2021/02/17 Python
HTML5标签嵌套规则详解【必看】
2016/04/26 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
英国领先的独立时装店:Van Mildert
2019/10/28 全球购物
军训自我鉴定怎么写
2014/02/13 职场文书
夜不归宿检讨书
2014/02/25 职场文书
创先争优演讲稿
2014/09/15 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
nginx结合openssl实现https的方法
2021/07/25 Servers
关于python类SortedList详解
2021/09/04 Python