A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/pyecharts/pyecharts/issues/892 below:

pyecharts 全面重构计划 · Issue #892 · pyecharts/pyecharts · GitHub

API 重构

add() 接口拆分,现在的 add() 接口做了太多的事情了。

  1. 对于有 XY 轴的图表,拆分为 add_xaixs()/add_yaxis() 方法。
  2. 新增 set_series_opts 方法,用于一次性设置所有 series 配置项。
  3. 新增 set_base_opts 方法,用于设置 base 配置项,如 dataZoom, legend, tooltip, toolbox 等。

以上的拆分仍能保持接口的简洁性。

图表重构

废除 Overlap 组合图表,改为 chart.overlap() 方法,仅部分图表实现了该方法。

插件机制重构

废除现有的插件机制,仅支持两种情况

  1. online 模式,使用 pyecharts 官方提供的 assets host,或者部署自己的 remote host。
  2. local 模式,使用自己本地开启的文件服务提供 assets host,会提供一键启动的脚本,方便部署。

理由

  1. 现在的 pyecharts 插件机制分散,管理/升级并没有想象中的方便,而且分开为 jupyter/local render 两种情况,这就导致了两个要分开管理,虽然我们的 pip 包可以同时 update 这两种情况引用的 assets,但是由于存在缓存等因素,并不能保证每次都到正确的更新。
  2. pyecharts 不用再依赖这些包,依赖包和 pyecharts 包版本的管理也是一个容易出问题的地方。
  3. 减少维护工作,线上热更新。
代码风格重构
  1. 停止对 Python2.7 版本的支持,仅支持 Python3.5+,是时候全面拥抱 Python3 了
  2. 所有代码使用 TypeHint,增加可读性
  3. 所有配置项均 OOP,使用 attrs 重写配置项类。
  4. 废除 add() 中那堆长得令人发指的参数项列表。
可期待的新特性
  1. 对 components 的支持,可以使用 pyecharts 制作简单的报表。
  2. 支持更加原生的 javascript 配置项,方便用户自己定制
兼容性

本次重构基本上不会考虑任何兼容性的问题,这是一个全新版本的 pyecharts。不想再为它打补丁来容忍糟糕的接口设计,是时候重生了。

时间进度

鉴于现在本人的手头上的事情比较多,本次重构本身又需要大量的时间,所以会慢慢推进的,进度肯定快不了,不过它终将会到来!

mimimiracle, Flyraty, kinegratii, jokbull, ZhengRJ001 and 49 moreFlyraty, farfun, erikgqp8645, letterwuyu, marioTang and 4 moremimimiracle, Flyraty, usernamehastaken, farfun, erikgqp8645 and 5 morefarfun, erikgqp8645, letterwuyu, zhxsking, seanzhen and 2 more


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4