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

pyecharts学习小总结——Bar(柱状图)、Pie(饼图)、Line(线图)、Page(页面组件)、Tab(分页组件)、Grid(组合组件) # pyecharts常用模块总结 文档链接:https://pyecharts.org/#/zh-cn/global_options - Bar(柱状图) - Pie(饼图) - Line(线图) - Page(页面组件) - Tab(分页组件) - Grid(组合组件) 阅读详情

当前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, Tab

a = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
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_HOST
        self.page_title: str = page_title
        self.download_button: bool = False
        self.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_name
        self._charts.append(chart)
        for d in chart.js_dependencies.items:
            self.js_dependencies.add(d)
        return self

    def _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_id
        for c in self:
            c.chart_id = uuid.uuid4().hex
        return engine.render_notebook(
            self, "nb_jupyter_notebook_tab.html", "nb_jupyter_lab_tab.html"
        )
Pyecharts之图表组合与布局优化 在实际应用中,我们可以根据数据的特点和分析需求,灵活选择使用 Tab 组件、Page 组件或 Timeline 组件。Tab 组件适合用户切换查看不同类型的图表,Page 组件适合将多个图表排列在一起展示,而 Timeline 组件则适用于展示数据的时间序列变化。你可以根据需要调整每个图表的样式、数据和颜色,以满足不同的可视化需求。 阅读详情

相关推荐

Python数据可视化 Pyecharts 制作 Tab 选项卡多图控制

大家好,我是Mr数据杨。想象一下,Tab就像三国的战场,各个州郡是不同的选项卡,其中隐藏着无尽的可能。就像那些被划分为蜀、魏、吴的三个国家,每个国家都有自己的特色,自己的英雄和战略。基本设置就像是郭嘉、诸葛亮、周瑜这些军师们制定的战略。每个军师都有自己的智谋和策略,就像Python中各种设置让程序更加完善,从而实现各种功能。而Demo,就好比是三国里的那些决定胜负的关键战役。那些战役,就如同程序中的示例,直观地展现出策略是否有效,程序是否运行成功。

Mr数据杨 4万+

快速使用pyecharts绘制组合图表

本文主要内容是使用pyecharts绘制常用的组合图表,仅供学习参考!

m0_56181660的博客 5476

【Pyecharts50例】一个Tab下添加多个图表/tab.add()

前言 在Pyecharts中Tab形式的组合图表效果如下: 但如果想在一个Tab中添加多个图表,就需要先通过Grid将图表组合起来,然后再将Grid添加到Tab中来。 完整示例 完整代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : AwesomeTang # @File : tab_with_multiple_chart.py # @Version : Python 3.7 # @Time : 2020-11-15 03

AwesomeTang 3610

【python 可视化】pyecharts + Flask 使用指南

本指南会以一个小的 Flask 项目为例,说明如何在 Flask 中使用 pyecharts。请确保你已经安装 Flask,还没安装请执行 pip install flask 或其他方式安装。Step 0: 首先新建一个 Flask 项目Linux/macos 系统$ mkdir flask-echarts $ cd flask-echarts $ mkdir templatesWindows 系统

赖德发的博客 2万+

Pyecharts:组合图表——平行多图Grid、选项卡多图Tab、顺序多图Page

Pyecharts:组合图表——Grid、Tab、Page

啊Q老师 7998

3D缺陷检测实战:从点云处理到工业质检优化

本文深入探讨了3D缺陷检测在工业质检中的实战应用,详细阐述了从点云处理到深度学习模型部署的完整技术链路。文章通过PCB焊点检测等实际案例,分析了3D视觉相比2D检测在识别深度、形状等缺陷方面的优势,并分享了点云滤波、分割、特征提取以及利用YOLOv5等模型进行高效检测的优化心得与落地挑战。

weixin_28358083的博客 337

pyecharts 报错AttributeError: ‘str‘ object has no attribute ‘js_dependencies‘

AttributeError: ‘str’ object has no attribute ‘js_dependencies’ 解决 可能是你 画一个图的时候render没去掉 画大屏图的时候不需要这个。

Codernmx 6489

面试题-手撕NMS(非极大值抑制)

非极大值抑制(Non-Maximum Suppression,NMS)是一种常用于目标检测和计算机视觉中的算法,用于去除重叠的边界框,保留最可能是真实目标的边界框。其核心就是对一组检测框,找出其中属于同一个类别且分数最高的那个框,然后把和这个框的IOU值大于阈值的那些框都删掉。

zhaoyqcsdn的博客 1108

pyecharts源码解读(18)HTML组件包components之图像组件Image

当前pyecharts的版本为1.9.0。 components包概述 components包位于pyecharts包顶级目录中,用于定义pyecharts的HTML组件。包结构如下: ├─components # HTML组件包 │ │ image.py # 定义图像组件类Image │ │ table.py # 定义表格组件类Table │ │ __init__.py # 重构命名空间,将组件类命名空间提升至components包命名空间 目前HTML组件类Table 和Image 与复合

mighty13的专栏 3万+

数学不好是原罪——高等数学笔记(汇总版)

这是本人之前考研的高数手写笔记,工科学硕数一考了146(满分150),笔记有一定参考价值,欢迎大家收藏借鉴。

xuuyann 5万+

从HAL库SPI状态机机制剖析:为什么你的DMA发送会卡在BUSY状态?

本文深入剖析了STM32 HAL库中SPI状态机机制导致DMA发送卡在BUSY状态的常见问题。通过分析状态机设计原理,揭示了混合使用阻塞方式和DMA方式时状态切换冲突的根源,并提供了三种实战解决方案:正确配置SPI中断、使用HAL_SPI_Abort()函数以及手动管理状态机,帮助开发者实现稳定流畅的SPI DMA通信。

bush的博客 268

pyecharts绘制组合图表

pyecharts.charts的Timeline类表示按时间线轮播的组合图表,它可以通过单击时间线的不同时间来切换显示多个图表。pyecharts.charts 的Tab类表示以选项卡开形式显示的组合图表,它可以通过单击不同的选项卡来切换显示多个图表。axis_type:表示坐标轴的类型,可以取值为value(数值轴)、category(类目轴)、time(时间轴)、log(对数轴)。Tab类提供了一个add()方法,使用add()方法可以为组合图表添加图表。

Happy_Li188的博客 1206

Cadence 17.2配置CIS数据库报错?手把手解决ODBC驱动位数不匹配问题

本文详细解析了Cadence 17.2配置CIS数据库时常见的ODBC驱动位数不匹配问题,提供了从系统环境检查到分步解决方案的完整指南。重点解决32位应用程序与64位ODBC驱动之间的架构冲突,包含驱动安装、DSN配置及高级排查技巧,帮助电子工程师快速恢复设计环境。

play7的博客 970

flask+Pyecharts+ajax实现分tab页展示多图

利用flask+pyecharts+ajax 技术完成一次查询,返回多图,并分页签tab显示

zhyuli的博客 1244

[AI工具评测] 为什么功能全面的 Kimi Claw,最终还是被放弃?

《KimiClaw:功能整合与体验落差的AI工具实践》 KimiClaw作为集LLM、Agent、云端执行和SaaS分发于一体的AI工具,理论上具备个人开发者所需的全栈能力:原生整合大模型与Agent、支持云端Docker部署、可生成Web应用并通过飞书协作。然而实际高频使用中暴露三大核心问题:响应延迟导致思考节奏断裂(非流式输出)、云端黑箱执行缺乏可控性(无法实时干预)、系统稳定性不足(网关和隧道偶发故障)。这些体验落差表明,功能完整性不等于使用高效性——对开发者而言,实时响应、执行透明度和系统可靠性比自

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 536

CAM350常用快捷键

CAM350快捷键 CAM350常用快捷键

bhxc809751502的博客 3057

数据可视化 - Tab分页组件

from pyecharts import options as opts from pyecharts.charts import Bar, Grid, Line, Pie, Tab from pyecharts.faker import Faker def bar_datazoom_slider() -> Bar: c = ( Bar() .add_xaxis(Faker.days_attrs) .add_yaxis("商家A", ...

记录项目交付的日常 1562

245. 项目195:简易文字冒险游戏——《跟老吕学Python·新手》

如果您在学习本专栏教程时遇到任何问题,或有任何技术交流的意愿,欢迎在文章评论区留言,或通过优快云私信与老吕取得联系。老吕将及时回复您的留言,并与您共同探讨,以期为大家提供更为精准和有效的帮助。老吕珍视每一位读者的反馈和支持,期待与您共同学习、共同进步,共同创造美好的未来!我们的目标是不仅教会您Python语言,更是培养您解决问题的思维方式。请随意翻阅,按照自己的节奏学习,让这本专栏成为您编程旅程中的可靠伙伴。开发一个简易的文字冒险游戏,通过文本描述场景和事件,让玩家通过选择不同的选项来推动故事发展。

Python老吕的博客 712

jinja模板注释问题引起的jinja2.exceptions.UndefinedError

打算写一个简单的demo当示例 路由部分 模板(偷懒拿之前的代码改的) 原意是打算简单讲解jinja模板的条件控制语句,但调试的时候…… 分析:路由中没有指定list参数,那问题基本就在模板中了,直接拿浏览器打开模板,可以显示 然后尝试,删掉注释掉的部分,调试,OK 注释部分是直接拿pycharm快捷键注释的,jinja语法,并不认同此注释方式。 jinja注释语...

小黑鹅的专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

AttributeError: ‘NoneType‘ object has no attribute ‘js_dependencies‘

出现这样的时候,大概率是封装函数没有返回值。 给封装的函数加一个返回值,即可解决。(可以参考一下)

weixin_44902604的博客 1832

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Pyecharts库及其与Django的结合使用

在上一周发表的echarts和Django的结合使用中,有粉丝提出想要学习下pyecharts,我特地花了点时间研究了下,写出此篇文章,希望喜欢的能够给我点点赞~ 这篇文章不会提到太多的语法,也不会把每个图形都讲一遍,还是那句话,作为初学者,我们先要模仿着写。官方文档对图形使用的解析已经很清楚了,我只抓取我感觉比较重要的讲一些。 代码仓库地址还是原来的那个地址,示例资源和静态资源文件都已经集成到这个项目里了。 https://gitcode.net/sabian2/myechartdemo 简介 Echar

Amoor的博客 4963

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

pyecharts源码解读(9)渲染包render之engine模块:渲染引擎

当前pyecharts版本为1.9.0 概述 render包结构 render包位于pyecharts包顶级目录中,用于渲染图表。render包结构如下: ├─render # 渲染设置包 │ │ display.py # 定义HTML、JavaScript显示类,用于支持在notebook中嵌入输出结果 │ │ engine.py # 定义渲染相关类、函数 │ │ snapshot.py # 定义渲染图片函数 │ │ __init__.py # 暴露渲染图片函数 │ │ │ ├─tem

mighty13的专栏 3万+

HTML图表无法保存,HTML组件Table无法与其他图表组合到Page输出render

问题HTML组件Table无法与其他图表组合到Page输出render,报错:'Table' object has no attribute 'dump_options'运行环境(系统环境及 pyecharts 版本)win10Python 3.6.8pyecharts 1.3.1代码及截图`from pyecharts.components import Tablefrom pyecharts....

weixin_42307478的博客 1152
上一篇: pyecharts源码解读(14)图表类包charts之组合图表:时间线轮播TimeLine
下一篇: pyecharts源码解读(16)图表类包charts之组合图表: 顺序多图Page
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值