当前pyecharts的版本为1.9.0。

概述

pyecharts/charts/composite_charts/包中的四个模块分别定义了组合图表类,其中pyecharts/charts/composite_charts/tab.py模块只定义了选项卡类Tab

Tab类继承自图表基类CompositeMixin,作用为利用选项卡(tab)控制多个图表的展示。输出的HTML结构如下:
创建一个选项div,每个图表对应一个按钮, 用于切换显示图表。
创建一个图表div,每个图表构造一个单独的div,作为图表容器,每个图表创建一个ECharts实例绘图。

Tab类的签名为class Tab(page_title: str = "Awesome-pyecharts", js_host: str = "")

Tab类的属性如下:

  • js_host:JavaScript库的URL。字符串,默认值为全局变量CurrentConfig.ONLINE_HOST。属性值为构造方法参数js_host与全局变量CurrentConfig.ONLINE_HOST进行或操作的结果。
  • page_title:页面标题。字符串,默认值为全局变量CurrentConfig.PAGE_TITLE
  • download_button:是否显示下载按钮。布尔值。默认值为False
  • js_functions:自定义JavaScript语句。类型为OrderedSet对象。默认值为OrderedSet()
  • js_dependencies:定义JavaScript依赖库。类型为OrderedSet对象。默认值为OrderedSet("echarts")
  • _charts:容器中图表实例列表。类型为列表。默认值为[]

Tab类的方法如下:

  • add(chart,tab_name):将图表类实例添加到选项卡中。chart参数为图表类实例,参数值将被添加到_charts属性中;tab_name参数为选项卡名称,将会为图表类实例添加tab_name属性。
  • render:调用renderengine模块中的render函数渲染HTML文档。默认渲染模板为"simple_tab.html"
  • render_embed:调用renderengine模块中的render_embed函数输出HTML字符串。默认渲染模板为"simple_tab.html"
  • render_notebook:调用renderengine模块中的render_notebook函数将输出嵌入到notebook中。默认渲染模板为 "nb_jupyter_notebook_tab.html""nb_jupyter_lab_tab.html"

简易选项卡tab案例

from pyecharts.charts import Line, Taba = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
b1 = [5, 20, 36, 10, 75, 90]
b2 = [7, 25, 31, 14, 65, 100]line1 = Line()
line1.add_xaxis(a)
line1.add_yaxis("", b1)line2 = Line()
line2.add_xaxis(a)
line2.add_yaxis("", b2)tab = Tab()
tab.add(line1,"first")
tab.add(line2,"second")
tab.render()

Tab类源码

class Tab(CompositeMixin):def __init__(self, page_title: str = CurrentConfig.PAGE_TITLE, js_host: str = ""):self.js_host: str = js_host or CurrentConfig.ONLINE_HOSTself.page_title: str = page_titleself.download_button: bool = Falseself.js_functions: utils.OrderedSet = utils.OrderedSet()self.js_dependencies: utils.OrderedSet = utils.OrderedSet()self._charts: list = []def add(self, chart, tab_name):chart.tab_name = tab_nameself._charts.append(chart)for d in chart.js_dependencies.items:self.js_dependencies.add(d)return selfdef _prepare_render(self):for c in self:if hasattr(c, "dump_options"):c.json_contents = c.dump_options()if hasattr(c, "theme"):if c.theme not in ThemeType.BUILTIN_THEMES:self.js_dependencies.add(c.theme)def render(self,path: str = "render.html",template_name: str = "simple_tab.html",env: types.Optional[Environment] = None,**kwargs,) -> str:self._prepare_render()return engine.render(self, path, template_name, env, **kwargs)def render_embed(self,template_name: str = "simple_tab.html",env: types.Optional[Environment] = None,**kwargs,) -> str:self._prepare_render()return engine.render_embed(self, template_name, env, **kwargs)def render_notebook(self):self._prepare_render()# only notebook env need to re-generate chart_idfor c in self:c.chart_id = uuid.uuid4().hexreturn engine.render_notebook(self, "nb_jupyter_notebook_tab.html", "nb_jupyter_lab_tab.html")

pyecharts源码解读(15)图表类包charts之组合图表: 选项卡Tab相关推荐

  1. pyecharts源码解读(12)图表类包charts之chart模块:常用图表基类Chart、直角坐标系图表基类RectChart、3D图表基类Chart3D

    当前pyecharts的版本为1.9.0. pyecharts/charts/chart.py模块结构 pyecharts/charts/chart.py模块主要元素为4个类: Chart类:除复合图 ...

  2. pyecharts源码解读(10)渲染包render之templates目录:渲染模板

    当前pyecharts版本为1.9.0 概述 render包结构 render包位于pyecharts包顶级目录中,用于渲染图表.render包结构如下: ├─render # 渲染设置包 │ │ d ...

  3. JPCSP源码解读15:动态二进制翻译3(翻译引擎最终章)

    今天,我们从CodeInstruction. compile(CompilerContextcontext, MethodVisitor mv)这个函数说起. 其中,CompilerContext是编 ...

  4. 源码解读之zrender-ZRender 类(3)

    00 小结 当我们在 zrender.init(document.getElementById("canvas"))时,首先实例化了一个 ZRender 实例,在这个实例化过程中, ...

  5. Linux内核网络协议栈:udp数据包发送(源码解读)

    <监视和调整Linux网络协议栈:接收数据> <监控和调整Linux网络协议栈的图解指南:接收数据> <Linux网络 - 数据包的接收过程> <Linux网 ...

  6. ORB SLAM2源码解读(三):Frame类

    文章目录 前言 构造函数 双目相机 RGBD相机 单目相机 ExtractORB:提取特征点 ComputeBoW:计算词袋数据 SetPose:设置相机外参 isInFrustum:判断一个MapP ...

  7. datax(10): 源码解读Communication(Datax通讯类)

    前面看了datax的通讯机制,继续看源码-具体的通讯类 Communication.根据datax的运行模式的区别, 数据的收集会有些区别,这篇文章都是讲的在standalone模式下. 一.comm ...

  8. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilityManager

    做ios开发,AFNetworking 这个网络框架肯定都非常熟悉,也许我们平时只使用了它的部分功能,而且我们对它的实现原理并不是很清楚,就好像总是有一团迷雾在眼前一样. 接下来我们就非常详细的来读一 ...

  9. php yii框架源码,yii 源码解读

    date: 2017-11-21 18:15:18 title: yii 源码解读 本篇博客阅读指南: php & 代码提示: 工欲善其事必先利其器 yii 源码阅读指南: 整体上全貌上进行了 ...

  10. qcustomplot圆_QCustomplot使用分享(二) 源码解读

    一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCusto ...

最新文章

  1. winformDatagridview无法编辑的问题
  2. php标题 栏目不显示title,DEDECMS专题列表页不显示title的解决方法
  3. c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
  4. 语音怎么进入滤波器matlab,基于Matlab的语音信号滤波器的设计与实现
  5. HIN2Vec:异质信息网络中的表示学习 | PaperDaily #18
  6. BZOJ1008: [HNOI2008]越狱(组合数)
  7. 每日英语:The First Day On A Job Is Tough Work
  8. java new file会创建文件吗_Java高级——文件与I/O流
  9. Java Web整合开发(37) -- SVN
  10. 14套新鲜出炉的网页图标素材下载
  11. JEECG支付服务窗平台与服务窗接口对接文档
  12. jQuery的回调管理机制(二)
  13. 手机麦克风结构原理图_一文看懂咪头的工作原理及结构(驻极体话筒)
  14. python导入鸢尾花数据集_python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析...
  15. Java如何在创建文件时指定编码
  16. excel如何把顺序倒过来_excel怎么把顺序倒过来
  17. 很多人在睡觉的时候半梦半醒时,感…
  18. 迪斯尼电影经典台词精选
  19. 修改域服务器同步时间,配置Windows Server 2008 R2 域控制器的时间同步
  20. 什么是SSL协议 SSL协议的实现方式

热门文章

  1. CrossOver软件MacOS和Win双系统兼容软件
  2. python词频统计西游记_基于Python第三方插件实现西游记章节标注汉语拼音
  3. Day754.Pika键值对数据库 -Redis 核心技术与实战
  4. 怎么实现微信多公众号管理?
  5. 从源码层面理解 Either、Option 和 Try
  6. html超链接本地文件为什么打不开,为什么word文件的本地超链接打不开呢
  7. 证券投资基金基础知识
  8. 4k纸是几厘米乘几厘米_4K纸是多大?
  9. 星星之火OIer:编程社四连测总结
  10. html梯形选项卡,梯形标签页