pyecharts源码解读(11)图表类包charts之包结构及base模块:图表类继承关系、图表基类Base

本文详细介绍了pyecharts 1.9.0版本的charts包结构,包括基本图表类、复合图表类和3D图表类的组织。ChartMixin和CompositeMixin类在图表类中起到关键作用,提供JavaScript支持和复合图表的迭代及长度功能。Base类作为大多数图表类的基类,包含初始化参数和通用方法。此外,文章还解析了Base类的属性和方法,展示了如何应用于图表渲染。

当前pyecharts的版本为1.9.0。

charts包结构

charts包位于pyecharts包顶级目录中,用于定义图表类。charts包的结构如下:

│
├─charts # 图表类包
│  │  base.py # 定义了图表基类Base
│  │  chart.py # 基于base类定义了基本图表基类Chart、直角坐标系图表RectChart、3D图表基类Chart3D、
│  │  mixins.py # 定义多重继承基类ChartMixin、CompositeMixin
│  │  __init__.py # 重构命名空间,将子包中具体图表类提升至charts包命名空间。
│  │
│  ├─basic_charts # 定义基本图表类
│  │  │  bar.py 
│  │  │  bmap.py 
│  │  │  boxplot.py
│  │  │  calendar.py
│  │  │  effectscatter.py
│  │  │  funnel.py
│  │  │  gauge.py
│  │  │  geo.py
│  │  │  graph.py
│  │  │  heatmap.py
│  │  │  kline.py
│  │  │  line.py
│  │  │  liquid.py
│  │  │  map.py
│  │  │  parallel.py
│  │  │  pictorialbar.py
│  │  │  pie.py
│  │  │  polar.py
│  │  │  radar.py
│  │  │  sankey.py
│  │  │  scatter.py
│  │  │  sunburst.py
│  │  │  themeriver.py
│  │  │  tree.py
│  │  │  treemap.py
│  │  │  wordcloud.py
│  │  │  __init__.py
│  │
│  ├─composite_charts # 定义复合图表类
│  │  │  grid.py
│  │  │  page.py
│  │  │  tab.py
│  │  │  timeline.py
│  │  │  __init__.py
│  │
│  ├─three_axis_charts # 定义3D图表类
│  │  │  bar3D.py
│  │  │  line3D.py
│  │  │  map3D.py
│  │  │  map_globe.py
│  │  │  scatter3D.py
│  │  │  surface3D.py
│  │  │  __init__.py

pyecharts图表类的继承关系

在这里插入图片描述

pyecharts/charts/mixins.py模块

pyecharts/charts/mixins.py模块定义了ChartMixin类和CompositeMixin类。

ChartMixin类为所有与图表类的基类,为图表提供JavaScript支持。
CompositeMixin(ChartMixin)类用于为复合图表类提供可迭代对象支持和实例长度支持。

pyecharts/charts/mixins.py模块源码:

from ..render import engine


class ChartMixin:
    def add_js_funcs(self, *fns):
        for fn in fns:
            self.js_functions.add(fn)
        return self

    def load_javascript(self):
        return engine.load_javascript(self)


class CompositeMixin(ChartMixin):
    def __iter__(self):
        for chart in self._charts:
            yield chart

    def __len__(self):
        return len(self._charts)

pyecharts/charts/base.py模块

pyecharts/charts/base.py模块的结构如下:

  • Base类:绝大多数图表类的基类。
  • default函数json.dumps函数实参,用于定义特殊对象类型的序列化方式。

在这里插入图片描述

Base

Base类的签名为class Base(init_opts)Base类的属性、方法如下:

属性:主要通过参数全局配置项init_opts.opts构造。

  • widthecharts实例宽度。通过init_opts参数获取。
  • heightecharts实例宽度。通过init_opts参数获取。
  • renderer
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值