pyecharts源码解读(15)图表类包charts之组合图表: 选项卡Tab
当前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
:调用render
包engine
模块中的render
函数渲染HTML文档。默认渲染模板为"simple_tab.html"
。render_embed
:调用render
包engine
模块中的render_embed
函数输出HTML字符串。默认渲染模板为"simple_tab.html"
。render_notebook
:调用render
包engine
模块中的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相关推荐
- pyecharts源码解读(12)图表类包charts之chart模块:常用图表基类Chart、直角坐标系图表基类RectChart、3D图表基类Chart3D
当前pyecharts的版本为1.9.0. pyecharts/charts/chart.py模块结构 pyecharts/charts/chart.py模块主要元素为4个类: Chart类:除复合图 ...
- pyecharts源码解读(10)渲染包render之templates目录:渲染模板
当前pyecharts版本为1.9.0 概述 render包结构 render包位于pyecharts包顶级目录中,用于渲染图表.render包结构如下: ├─render # 渲染设置包 │ │ d ...
- JPCSP源码解读15:动态二进制翻译3(翻译引擎最终章)
今天,我们从CodeInstruction. compile(CompilerContextcontext, MethodVisitor mv)这个函数说起. 其中,CompilerContext是编 ...
- 源码解读之zrender-ZRender 类(3)
00 小结 当我们在 zrender.init(document.getElementById("canvas"))时,首先实例化了一个 ZRender 实例,在这个实例化过程中, ...
- Linux内核网络协议栈:udp数据包发送(源码解读)
<监视和调整Linux网络协议栈:接收数据> <监控和调整Linux网络协议栈的图解指南:接收数据> <Linux网络 - 数据包的接收过程> <Linux网 ...
- ORB SLAM2源码解读(三):Frame类
文章目录 前言 构造函数 双目相机 RGBD相机 单目相机 ExtractORB:提取特征点 ComputeBoW:计算词袋数据 SetPose:设置相机外参 isInFrustum:判断一个MapP ...
- datax(10): 源码解读Communication(Datax通讯类)
前面看了datax的通讯机制,继续看源码-具体的通讯类 Communication.根据datax的运行模式的区别, 数据的收集会有些区别,这篇文章都是讲的在standalone模式下. 一.comm ...
- AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilityManager
做ios开发,AFNetworking 这个网络框架肯定都非常熟悉,也许我们平时只使用了它的部分功能,而且我们对它的实现原理并不是很清楚,就好像总是有一团迷雾在眼前一样. 接下来我们就非常详细的来读一 ...
- php yii框架源码,yii 源码解读
date: 2017-11-21 18:15:18 title: yii 源码解读 本篇博客阅读指南: php & 代码提示: 工欲善其事必先利其器 yii 源码阅读指南: 整体上全貌上进行了 ...
- qcustomplot圆_QCustomplot使用分享(二) 源码解读
一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCusto ...
最新文章
- winformDatagridview无法编辑的问题
- php标题 栏目不显示title,DEDECMS专题列表页不显示title的解决方法
- c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解
- 语音怎么进入滤波器matlab,基于Matlab的语音信号滤波器的设计与实现
- HIN2Vec:异质信息网络中的表示学习 | PaperDaily #18
- BZOJ1008: [HNOI2008]越狱(组合数)
- 每日英语:The First Day On A Job Is Tough Work
- java new file会创建文件吗_Java高级——文件与I/O流
- Java Web整合开发(37) -- SVN
- 14套新鲜出炉的网页图标素材下载
- JEECG支付服务窗平台与服务窗接口对接文档
- jQuery的回调管理机制(二)
- 手机麦克风结构原理图_一文看懂咪头的工作原理及结构(驻极体话筒)
- python导入鸢尾花数据集_python数据挖掘学习笔记】十九.鸢尾花数据集可视化、线性回归、决策树花样分析...
- Java如何在创建文件时指定编码
- excel如何把顺序倒过来_excel怎么把顺序倒过来
- 很多人在睡觉的时候半梦半醒时,感…
- 迪斯尼电影经典台词精选
- 修改域服务器同步时间,配置Windows Server 2008 R2 域控制器的时间同步
- 什么是SSL协议 SSL协议的实现方式