🎨 Python Echarts Plotting Library

Overview

pyecharts logo

pyecharts

Python ❤️ ECharts = pyecharts

Travis Build Status Appveyor Build Status Codecov Package version PyPI - Python Version

PyPI - Format Contributions welcome License

English README

📣 简介

Apache ECharts (incubating) 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了。

特性

  • 简洁的 API 设计,使用如丝滑般流畅,支持链式调用
  • 囊括了 30+ 种常见图表,应有尽有
  • 支持主流 Notebook 环境,Jupyter Notebook 和 JupyterLab
  • 可轻松集成至 Flask,Sanic,Django 等主流 Web 框架
  • 高度灵活的配置项,可轻松搭配出精美的图表
  • 详细的文档和示例,帮助开发者更快的上手项目
  • 多达 400+ 地图文件,并且支持原生百度地图,为地理数据可视化提供强有力的支持

版本

v0.5.x 和 V1 间不兼容,V1 是一个全新的版本,详见 ISSUE#892ISSUE#1033

V0.5.x

支持 Python2.7,3.4+

经开发团队决定,0.5.x 版本将不再进行维护,0.5.x 版本代码位于 05x 分支,文档位于 05x-docs.pyecharts.org

V1

仅支持 Python3.6+

新版本系列将从 v1.0.0 开始,文档位于 pyecharts.org;示例位于 gallery.pyecharts.org

🔰 安装

pip 安装

# 安装 v1 以上版本
$ pip install pyecharts -U

# 如果需要安装 0.5.11 版本的开发者,可以使用
# pip install pyecharts==0.5.11

源码安装

# 安装 v1 以上版本
$ git clone https://github.com/pyecharts/pyecharts.git
# 如果需要安装 0.5.11 版本,请使用 git clone https://github.com/pyecharts/pyecharts.git -b v05x
$ cd pyecharts
$ pip install -r requirements.txt
$ python setup.py install

📝 使用

本地环境

生成 HTML

from pyecharts.charts import Bar
from pyecharts import options as opts

# V1 版本开始支持链式调用
bar = (
    Bar()
    .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
    .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
    .set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
)
bar.render()

# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
bar.render()

生成图片

from snapshot_selenium import snapshot as driver

from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot


def bar_chart() -> Bar:
    c = (
        Bar()
        .add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
        .add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
        .add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
        .reversal_axis()
        .set_series_opts(label_opts=opts.LabelOpts(position="right"))
        .set_global_opts(title_opts=opts.TitleOpts(title="Bar-测试渲染图片"))
    )
    return c

# 需要安装 snapshot-selenium 或者 snapshot-phantomjs
make_snapshot(driver, bar_chart().render(), "bar.png")

Notebook 环境

Jupyter Notebook

JupyterLab

Web 框架

🔖 Demo

Demo 代码位于 example 文件夹下,欢迎参考 pyecharts 画廊 pyecharts-gallery

bar boxplot effectScatter funnel gague geo geo graph heatmap kline line liquid map bmap parallel pie ploar radar scatter tree treemap wordCloud bar3D line3D sankey scatter3D surface3D themeRiver sunburst overlap grid grid timeline

更多详细文档,请访问

代码质量

单元测试

$ pip install -r test/requirements.txt
$ make

集成测试

使用 Travis CIAppVeyor 持续集成环境。

代码规范

使用 flake8, Codecov 以及 pylint 提升代码质量。

😉 Author

pyecharts 主要由以下几位开发者开发维护

更多贡献者信息可以访问 pyecharts/graphs/contributors

💌 捐赠

开发和维护 pyecharts 花费了我巨大的心力,如果你觉得项目帮助到您,请认真考虑请作者喝一杯咖啡 😄

微信二维码 支付宝二维码
wechat-code alipay-code

如果其他开发者帮助到了您,也可以请他们喝咖啡 捐赠通道

💡 贡献

期待能有更多的开发者参与到 pyecharts 的开发中来,我们会保证尽快 Reivew PR 并且及时回复。但提交 PR 请确保

  1. 通过所有单元测试,如若是新功能,请为其新增单元测试
  2. 遵守开发规范,使用 black 以及 isort 格式化代码($ pip install -r requirements-dev.txt)
  3. 如若需要,请更新相对应的文档

我们也非常欢迎开发者能为 pyecharts 提供更多的示例,共同来完善文档,文档项目位于 pyecharts/website

📃 License

MIT ©chenjiandongx

Issues
  • can‘t install echarts-china-counties-pypkg

    can‘t install echarts-china-counties-pypkg

    问题

    qq 20180726173726 使用教程上的命令安装地图包时其他几个都可以,但4.1M的那个省级市级地图资源则会报错,能够下载下来,但是从报错目录上来看好像是缺少什么文件和路径,请问这是怎么回事呢? 另外在juypter中画地图Out也没有任何图片显示出来

    运行环境(系统环境及 pyecharts 版本) win10+python3.6.4+pyecharts0.5.5

    代码及截图

    opened by 4timespassedCET4 31
  • Uses lml for plugin distribution via pypi

    Uses lml for plugin distribution via pypi

    续 https://github.com/pyecharts/pyecharts/pull/368 . 由于 github 在中国境内下载速度慢,并加上python 和 npm 的衔接的断带,lml 被推出来代替 pyecharts-cli 做为扩展包管理方法。所以下面的包诞生了:

    https://github.com/pyecharts/jupyter-echarts-pypkg https://github.com/pyecharts/echarts-china-cities-pypkg https://github.com/pyecharts/echarts-china-provinces-pypkg https://github.com/pyecharts/echarts-countries-pypkg

    用 lml 的好处是可以用 pip 直接对扩展包进行管理, 比如组装,卸载,线下组装等。而且 lml 提供了转换js package 为 python package 的最为简洁方案

    pip install/uninstall jupyter-echarts-pypkg
    

    同时: pyecharts-cli 缩小称为了 pyecharts-jupyter-installer ,它代替了jupyter-pip

    opened by chfw 30
  • 自定义模板

    自定义模板

    本文档基于 #228 实现的,新增和优化了若干个功能点。基本上了保持原有的兼容性。

    主要内容:

    1 开放底层模板引擎类API,支持模板函数

    目前可以使用 pyecharts.engine.EchartsEnvironment 引擎类,正如 jinja2 库一样。

    from jinja2 import FileSystemLoader
    from pyecharts import Bar
    from pyecharts.engine import EchartsEnvironment, configure
    from pyecharts.utils import write_utf8_html_file
    
    attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
    v1 = [5, 20, 36, 10, 75, 90]
    v2 = [10, 25, 8, 60, 20, 80]
    bar = Bar("柱状图数据堆叠示例")
    bar.add("商家A", attr, v1, is_stack=True)
    bar.add("商家B", attr, v2, is_stack=True)
    
    configure(jshost='https://cdn.bootcss.com/echarts/3.7.0')
    env = EchartsEnvironment(loader=FileSystemLoader('.'))
    tpl = env.get_template('demo.html')
    write_utf8_html_file('demo_gen.html', tpl.render(bar=bar))
    

    pyecharts.engine.EchartsEnvironment 类还添加了若干个 echarts_* 模板函数,用于在模板文件生成代码片段。

    2 渲染函数增加参数,支持更多自定义参数

    目前 render 函数签名如下:

    
    Chart.render(path='render.html', new_version=False, template_name='simple_chart.html', object_name='chart', extra_context=None):
    

    各参数意义如下:

    • path :最终生成文件名称
    • new_version:是否采用新的渲染方式,此为开发过渡参数,将在正式版本后删除
    • template_name: 模板文件名称,其目录可通过 pyecharts.configure() 全局函数进行配置
    • object_name: 模板文件中,该图表类所使用变量的名称
    • extra_context 额外数据字典。

    3 优化配置过程

    新增统一的配置函数 pyecharts.configure ,在构建渲染图表之前使用该函数可统一配置你所需要的参数,每个参数都有默认值。

    原有的 pyecharts.online() 函数将被deprecated,并在之后 remove。

    4 优化js依赖文件引入方式

    js引入方式共有两种,外部链接方式

    <script type="text/javascript" src="https://cdn.bootcss.com/echarts/3.7.0/echarts.min.js"></script>
    

    内部嵌入方式

    <script type="text/javascript">
    var s = '';
    //...
    </script>
    

    引入方式的逻辑为:

    • 当 jshost 设置为远程地址时(如http://或者https://开头)时,默认使用外部链接方式;同时可使用 force_js_embed 强制使用内部嵌入方式;
    • 当 jshost 设置为本地地址时,只能使用内部嵌入方式

    5 Page 支持列表协议

    pyecharts.custom.Page 直接继承 list 类,也能支持长度(len)、索引(index)、切片(splice)、添加(append)、扩展(extend)等操作。

    相应的,Page 类移除了 charts 属性,目前可直接迭代 Page 对象本身。

    6 其他优化和改变

    • pyecharts.utils.get_resource_dir(*paths) 目前支持不定参数调用
    • 图表类 width/height 支持其他有效css长度形式,如"78px"、"50%" 等,保留原有数字格式,单位为px。
    opened by kinegratii 30
  • 来自 pyecharts 作者的一封通知函

    来自 pyecharts 作者的一封通知函

    大家好,我是 @chenjiandongx,pyecharts 的第一作者和维护者。pyecharts 于 2017-06-22 正式开源,在 2017-07-20 发布了第一个稳定版本,至今已有两年多了。

    ~/project/python/pyecharts 🐶 git summary           
    
     project  : pyecharts
     repo age : 2 years, 5 months
     active   : 356 days
     commits  : 1419
     files    : 205
     authors  : 
       559  chenjiandongx      39.4%
       324  chfw               22.8%
       280  陈键冬              19.7%
       108  kinegratii         7.6%
        59  jaska              4.2%
        33  chenjiandong       2.3%
        23  LeoSun             1.6%
        ....
    

    在这两年多的时间内,我们发布了 34 个版本,共有 21 位开发者对 pyecharts 贡献了代码,解决并关闭了 930+ 的 issue,处理了 350+ 的 PR。在 Github 上也获得了一些肯定。

    https://pyecharts.org 官网及其相关二级域名每月也有 200w+ 的访问量。

    我后来建立了同名的 pyecharts organization,并将 pyecharts 的周边项目全部转移进该 organization。实际上现在依旧可以访问 https://github.com/chenjiandongx/pyecharts 只不过会被重定向到 https://github.com/pyecharts/pyecharts 互联网也是有记忆的。

    在这里,我要特别感谢几位开发者,是他们一直努力推动 pyecharts 项目的完善和发展,共同建立了一套规范的开发流程(Code review, CI, Git Workflow)。

    为了方便大家交流互动,我也维护了几个 pyecharts 交流群,大概有 700+ 人吧。不过大家好像真的以为进群可以学到东西?进群难道不是为了平时无聊吹水吗?大家在群里还经常想搞群主 🐶,不过讨论的氛围倒是蛮不错的。

    pyecharts 本来是我的一个课余项目,那时候是刚开始折腾 Python,所有 Python 的入门书籍或者教程肯定在实战的第一章就来一个爬虫,无一例外。当时也是爬取了一些网站的数据,但是,赤裸的数据是没有表现力的,优雅的爬虫需要有优雅的可视化工具。那时候就萌生了自己搞个小轮子的想法,pyecharts 就这么诞生了,后来项目代码越写越多,干脆就写完整一点开源算了,这就有了后面的故事了。

    pyecharts 的开发历程上有一个里程碑,就是从 v0.5.x 到 v1.0。在 v0.5.x 迭代到 v0.5.11 的时候,我有半年的时间停止了开发,主要原因是旧版本的代码架构严重影响了项目的可扩展性,一直在上面打补丁也不是一个好办法,所以索性就不维护了。直到了一个夜深人静的夜晚,我~~他妈真的~~看不下去了,决定对 pyecharts 进行重构,彻彻底底的重构,不考虑任何的兼容性,这将会是一个船新版本的 pyecharts。详情参见 issue#892。我在 issue 中承诺我将会完成这件事情,开弓没有回头箭,写完该 issue 后的几天,我就开始后悔了,牛逼吹大了,重构起来太痛苦了哈哈哈想哭,hack 的代码一大堆,又没有写注释,自己都忘了当时为什么这么写。

    后来事情发生了转机,那段时间我刚好在写 Golang,所以决定先搞个 go-echarts 来为重构 pyecharts 做一下实验。事实证明,我完成得还不错。

    最终我还是开始了我的重构之旅,鲁迅先生曾经说过 动态一时爽,重构火葬场。Typehints 是真的香!重构真的是伤肝,熬了不少夜,毕竟白天还要上班,重构工作只能在晚上进行。终于在两个多月后发布了 v1.0 版本,详情见 issue#1033。总算是让 flag 没有倒下,🍻!后来又陆续迭代了几个版本,目前已经迭代至 v1.5.0,新增了不少新的 feature ~~当然可能也留下了些许新的 bug~~。

    但是,敲黑板,重点来了。

    我已经有很长时间没有使用过它解决我开发上遇到的问题了,它彻底地远离了我的日常工作,迭代的需求完全是来自于社区的使用者,Python 也不是我日常开发的主要语言了,不过它仍旧是我最喜欢的编程语言。个人的业余开发时间又是有限的,兴趣很多,时间很少,是时候权衡一下了,考虑 pyecharts 后面的发展了。实际上现在基本上每天都有人在问问题或者提新的需求,我也没有那么多的精力再去一一回复和满足需求了。

    我已经给不了 pyecharts 使用者想要的期待了,所以我应该让大家知晓这件事。不过请大家不必担心,pyecharts 开发团队中的另外一位核心成员 @sunhailin-Leo 愿意承担起维护 pyecharts 的责任。在此,我宣布将 pyecharts 的所有权限转交给 @sunhailin-Leo 同学,由他负责领导 pyecharts 以后的日常开发工作,他是一个值得信赖的人。开源社区的魅力就在于你可以将手中的接力棒向后传递,pyecharts 是在社区中孵化成长的,它不属于任何人,它属于 Python 社区。感谢社区中所有为 pyecharts 做过贡献的开发者,如果有想为 pyecharts 添砖加瓦又不知道如何下手的同学,可以参考我的另外一个项目 cutecharts

    pyecharts 结束了一段旧旅程,并准备迎接一段新旅程。未知,但值得期待!

    以上。

    awesome 
    opened by chenjiandongx 28
  • pyecharts 全面重构计划

    pyecharts 全面重构计划

    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。不想再为它打补丁来容忍糟糕的接口设计,是时候重生了。

    时间进度

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

    awesome feature 
    opened by chenjiandongx 27
  • pip安装pyecharts后import提示找不到pyecharts_snapshot

    pip安装pyecharts后import提示找不到pyecharts_snapshot

    问题 我使用pip安装pyecharts后,在import时会报找不到pyecharts_snapshot,目前看起来功能正常,手动安装后错误消失

    运行环境(系统环境及 pyecharts 版本)

    Python 3.7.0 (default, Jul 15 2018, 10:44:58)
    [GCC 8.1.1 20180531] on linux
    

    代码及截图

    from pyecharts import Bar
    
    ERROR:lml.utils:failed to import pyecharts_snapshot
    Traceback (most recent call last):
      File "/usr/lib/python3.7/site-packages/lml/utils.py", line 43, in do_import
        plugin_module = __import__(plugin_module_name)
    ModuleNotFoundError: No module named 'pyecharts_snapshot'
    
    opened by eternal-flame-AD 25
  • echarts.min不加载

    echarts.min不加载

    问题 echarts.min不加载,在加载文件.jupyter\nbconfig\notebook.json中也没有, 所以http://localhost:8888/nbextensions/echarts/echarts.min.js也是404的, 但是是确认已经安装了jupyter-echarts-pypkg,也卸载重装了几次依然没有反应, 装其他地图库可以正常加载, 导致在jupyter中图表不显示, 不知道该怎么解决。

    运行环境(系统环境及 pyecharts 版本) pyecharts 0.5.6 python 3.6.2

    代码及截图 image image image

    opened by JackyQQQu 23
  • 移动光标到图例为什么不显示数据标签?

    移动光标到图例为什么不显示数据标签?

    问题 您好,我绘制普通的直角坐标系图的时候,移动光标到图例为什么不显示数据标签? 我使用了is_show=False,不知道是不是因为这个导致的? 最终的需求:就像v0.5版本的pyecharts似的,绘图之后没有数据标签,当光标放到图例时出现数据标签即可。 谢谢!

    运行环境(系统环境及 pyecharts 版本) python 3.7.3 pyecharts 1.5.1

    代码及截图

    import warnings
    import numpy as np
    import pandas as pd
    
    from pyecharts.charts import Bar, Line
    from pyecharts import options as opts
    
    warnings.filterwarnings('ignore')
    
    
    def bar_line():
        bar = (
            Bar(init_opts=opts.InitOpts(width="1000px", height="400px"))
            .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
            .add_yaxis("商品名", [5, 20, 36, 10, 75, 90], color="#1f77b4")
            .extend_axis(yaxis=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} %")))  # 拓展纵轴
            .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
            .set_global_opts(
                title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"),                         # 标题
                toolbox_opts=opts.ToolboxOpts(),                                                     # 工具箱
                datazoom_opts=opts.DataZoomOpts(range_start=0,range_end=100)                         # 横轴缩放
            )
        )
        
        line = (
            Line()
            .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
            .add_yaxis("折线一", [0.1, 0.2, 0.3, 0.4, 0.5, 0.6], yaxis_index=1, 
                       linestyle_opts=opts.LineStyleOpts(color="#2ca02c", width=3),
                       itemstyle_opts=opts.ItemStyleOpts(color="#2ca02c"))
            .add_yaxis("折线二", [0.1, 0.15, 0.2, 0.25, 0.3, 0.35], yaxis_index=1,
                       linestyle_opts=opts.LineStyleOpts(color="#ff7f0e", width=3),
                       itemstyle_opts=opts.ItemStyleOpts(color="#ff7f0e"))
        )
        
        bar.overlap(line)
        return bar
    
    bar_line().render_notebook()
    
    

    image

    image

    opened by slsongge 20
  • As js functions are allowed for echarts options, python functions are allowed in pyecharts options too

    As js functions are allowed for echarts options, python functions are allowed in pyecharts options too

    1. 允许导入 python function 到 pyecharts 的图例
    2. 先期允许 label_formatter, tooltip_formatter, xaxis_formatter 和 yaxis_formatter 传入 python function.

    长远设想是只要 echarts 允许的 js function 的设置,pyecharts 也就允许 python function. Like for like.

    同时可以解决以下切实的问题:

    https://github.com/pyecharts/pyecharts/issues/348 https://github.com/pyecharts/pyecharts/issues/461

    screen shot 2018-03-31 at 22 59 56
    opened by chfw 20
  • Parallel, line_width参数失效

    Parallel, line_width参数失效

    Code

    from pyecharts import Parallel
    
    schema = ["data", "AQI", "PM2.5", "PM10", "CO", "NO2"]
    data = [
            [1, 91, 45, 125, 0.82, 34],
            [2, 65, 27, 78, 0.86, 45,],
            [3, 83, 60, 84, 1.09, 73],
            [4, 109, 81, 121, 1.28, 68],
            [5, 106, 77, 114, 1.07, 55],
            [6, 109, 81, 121, 1.28, 68],
            [7, 106, 77, 114, 1.07, 55],
            [8, 89, 65, 78, 0.86, 51, 26],
            [9, 53, 33, 47, 0.64, 50, 17],
            [10, 80, 55, 80, 1.01, 75, 24],
            [11, 117, 81, 124, 1.03, 45]
    ]
    parallel = Parallel("平行坐标系-默认指示器")
    parallel.config(schema) 
    parallel.add("parallel", data, is_random=True, line_width=100000)  # line_width = 1000 !!! ¯\\_(ツ)_/¯ 
    parallel
    

    效果,(:3」∠)

    -

    我能说什么好呢,¯\(ツ)

    opened by Zeroto521 19
  • jupyter lab 0.35.4 下 render_notebook()无法显示echarts结果图  ,但可以render()

    jupyter lab 0.35.4 下 render_notebook()无法显示echarts结果图 ,但可以render()

    问题 jupyter lab 0.35.4 下 render_notebook()无法显示echarts结果图 ,但可以render() 我也是这个问题 重装N遍 都不行; issue里关于render_notebook()的解决方法都试遍了,也不行。

    运行环境(系统环境及 pyecharts 版本) python 3.7.3 pyecharts 1.3.1 windows 10 chrome 75.0.3770.142(正式版本) (64 位) anaconda 1.9.7 jupyter lab 0.35.4

    代码及截图

    image

    opened by ifcheung2012 18
  • 选项卡(Tab)和Jupyter插件RISE主题颜色冲突Bug🐞

    选项卡(Tab)和Jupyter插件RISE主题颜色冲突Bug🐞

    问题 选项卡(Tab)默认为灰底黑子和Jupyter插件RISE主题(theme: league)颜色(深色模式)冲突,导致Tab字体看不到。

    运行环境(系统环境及 pyecharts 版本)

    CentOS Linux release 7.5.1804 (Core)
    Python 3.9.13
    pyecharts                         1.9.1
    
    Package                           Version
    --------------------------------- -----------
    amqp                              5.1.1
    anyio                             3.6.1
    argon2-cffi                       21.3.0
    argon2-cffi-bindings              21.2.0
    asttokens                         2.0.5
    attrs                             21.4.0
    Babel                             2.10.3
    backcall                          0.2.0
    backports.functools-lru-cache     1.6.4
    beautifulsoup4                    4.11.1
    billiard                          3.6.4.0
    bleach                            5.0.0
    brotlipy                          0.7.0
    camelot-py                        0.9.0
    celery                            5.2.7
    certifi                           2022.6.15
    cffi                              1.15.0
    chardet                           4.0.0
    charset-normalizer                2.0.12
    click                             8.1.3
    click-didyoumean                  0.3.0
    click-plugins                     1.1.1
    click-repl                        0.2.0
    configparser                      3.5.3
    cryptography                      37.0.2
    cycler                            0.11.0
    debugpy                           1.6.0
    decorator                         5.1.1
    defusedxml                        0.7.1
    distro                            1.7.0
    entrypoints                       0.4
    et-xmlfile                        1.0.1
    excalibur-py                      0.4.3
    executing                         0.8.3
    fastjsonschema                    2.15.3
    Flask                             2.1.2
    flit_core                         3.7.1
    fonttools                         4.33.3
    greenlet                          1.1.2
    idna                              3.3
    importlib-metadata                4.11.4
    importlib-resources               5.8.0
    ipykernel                         6.14.0
    ipython                           8.4.0
    ipython-genutils                  0.2.0
    ipywidgets                        7.7.0
    itsdangerous                      2.0.1
    jedi                              0.18.1
    Jinja2                            3.0.3
    json5                             0.9.5
    jsonschema                        4.6.0
    jupyter                           1.0.0
    jupyter-client                    7.3.4
    jupyter-console                   6.4.3
    jupyter-contrib-core              0.3.3
    jupyter-contrib-nbextensions      0.5.1
    jupyter-core                      4.10.0
    jupyter-highlight-selected-word   0.2.0
    jupyter-latex-envs                1.4.6
    jupyter-nbextensions-configurator 0.4.1
    jupyter-server                    1.18.0
    jupyterlab                        3.4.3
    jupyterlab-pygments               0.2.2
    jupyterlab-server                 2.14.0
    jupyterlab-widgets                1.1.0
    kiwisolver                        1.4.3
    kombu                             5.2.4
    lxml                              4.9.0
    MarkupSafe                        2.1.1
    matplotlib                        3.5.2
    matplotlib-inline                 0.1.3
    mistune                           0.8.4
    munkres                           1.1.4
    nb-conda                          2.2.1
    nb-conda-kernels                  2.3.1
    nbclassic                         0.3.7
    nbclient                          0.6.4
    nbconvert                         6.5.0
    nbformat                          5.4.0
    nest-asyncio                      1.5.5
    notebook                          6.4.12
    notebook-shim                     0.1.0
    numpy                             1.23.0
    opencv-python                     4.5.5
    openpyxl                          3.0.9
    packaging                         21.3
    pandas                            1.4.3
    pandocfilters                     1.5.0
    parso                             0.8.3
    pdfminer.six                      20220524
    pdfplumber                        0.7.1
    pexpect                           4.8.0
    pickleshare                       0.7.5
    Pillow                            9.1.1
    pip                               22.1.2
    prettytable                       3.3.0
    prometheus-client                 0.14.1
    prompt-toolkit                    3.0.29
    psutil                            5.9.1
    ptyprocess                        0.7.0
    pure-eval                         0.2.2
    pycparser                         2.21
    pycryptodome                      3.14.1
    pyecharts                         1.9.1
    Pygments                          2.12.0
    pyOpenSSL                         22.0.0
    pyparsing                         3.0.9
    PyPDF2                            2.2.0
    pyrsistent                        0.18.1
    PySocks                           1.7.1
    python-dateutil                   2.8.2
    pytz                              2022.1
    pytz-deprecation-shim             0.1.0.post0
    PyYAML                            6.0
    pyzmq                             23.2.0
    qtconsole                         5.3.1
    QtPy                              2.1.0
    requests                          2.28.0
    rpy2                              3.5.2
    Send2Trash                        1.8.0
    setuptools                        62.6.0
    simplegeneric                     0.8.1
    simplejson                        3.17.6
    six                               1.16.0
    sniffio                           1.2.0
    soupsieve                         2.3.1
    SQLAlchemy                        1.4.39
    stack-data                        0.3.0
    tabula-py                         2.4.0
    terminado                         0.15.0
    tinycss2                          1.1.1
    tornado                           6.1
    traitlets                         5.3.0
    typing_extensions                 4.2.0
    tzdata                            2022.1
    tzlocal                           4.2
    unicodedata2                      14.0.0
    urllib3                           1.26.9
    vine                              5.0.0
    Wand                              0.6.7
    wcwidth                           0.2.5
    webencodings                      0.5.1
    websocket-client                  1.3.3
    Werkzeug                          2.1.2
    wheel                             0.37.1
    widgetsnbextension                3.6.0
    zipp                              3.8.0
    

    代码及截图 按照输出应该有四个Tab,但是仅当前选中的略微可见也不是很清楚,其他的完全不可见。 image

    opened by antecede 1
  • Overlap import not working

    Overlap import not working

    问题

    运行环境(系统环境及 pyecharts 版本)

    代码及截图

    Attempting to import Overlap from pyecharts returns an error. I have installed 1.9.1 and used the class as explained in the documentation. Looked through the package source code and see no reference to this class even though it is present in the documentation.

    opened by MichaelC1999 0
  • pyecharts 有类似Excel的透视表功能吗?

    pyecharts 有类似Excel的透视表功能吗?

    问题 我在用pyecharts时发现,我很难对x轴进行‘分层’处理。这个对处理数据的人来说是非常常见的。 pyecharts 有类似Excel的透视表功能吗?

    下面是我的数据,以及用excel透视表做的chart图。

    SN | Head | Zone | RawData -- | -- | -- | -- a | 0 | 0 | 0.4671948 a | 0 | 1 | 9.4228151 a | 0 | 2 | 6.1411753 a | 0 | 3 | 3.7026652 a | 0 | 4 | 6.8284898 a | 1 | 0 | 5.5656408 a | 1 | 1 | 9.4997245 a | 1 | 2 | 1.070649 a | 1 | 3 | 4.7152469 a | 1 | 4 | 9.4518646 a | 0 | 0 | 6.635423 a | 0 | 1 | 0.0791747 a | 0 | 2 | 2.3191386 a | 0 | 3 | 9.2195916 a | 0 | 4 | 1.1759603 a | 1 | 0 | 6.554829 a | 1 | 1 | 7.1995648 a | 1 | 2 | 6.4171693 a | 1 | 3 | 0.8472966 a | 1 | 4 | 6.0369284 b | 0 | 0 | 0.9343897 b | 0 | 1 | 18.84563 b | 0 | 2 | 12.282351 b | 0 | 3 | 7.4053305 b | 0 | 4 | 13.65698 b | 1 | 0 | 11.131282 b | 1 | 1 | 18.999449 b | 1 | 2 | 2.141298 b | 1 | 3 | 9.4304939 b | 1 | 4 | 18.903729 b | 0 | 0 | 13.270846 b | 0 | 1 | 0.1583493 b | 0 | 2 | 4.6382773 b | 0 | 3 | 18.439183 b | 0 | 4 | 2.3519206 b | 1 | 0 | 13.109658 b | 1 | 1 | 14.39913 b | 1 | 2 | 12.834339 b | 1 | 3 | 1.6945932 b | 1 | 4 | 12.073857

    image image

    opened by Tryiton123 0
  • Toolbox上的datazoom(区域放大)功能不能用(v1.9.1)是新版本的bug

    Toolbox上的datazoom(区域放大)功能不能用(v1.9.1)是新版本的bug

    问题

    Toolbox上的datazoom(区域放大),能显示在Chart上面, 但是不能框选放大。 我试着安装之前的版本1.1.0,这个功能就可以用了。

    运行环境(系统环境及 pyecharts 版本) python3.8 pyecharts 1.9.1 Windows 11 image

    代码及截图

    import pyecharts.options as opts from pyecharts.charts import Line from pyecharts.faker import Faker

    c = ( Line() .add_xaxis(Faker.choose()) .add_yaxis("商家A", Faker.values()) .add_yaxis("商家B", Faker.values()) .set_global_opts(title_opts=opts.TitleOpts(title="Line-基本示例"), toolbox_opts=opts.ToolboxOpts(is_show=True)) .render("line_base.html") )

    image

    opened by Tryiton123 0
Owner
pyecharts
pyecharts dev team
pyecharts
NorthPitch is a python soccer plotting library that sits on top of Matplotlib

NorthPitch is a python soccer plotting library that sits on top of Matplotlib.

Devin Pleuler 30 Feb 22, 2022
:small_red_triangle: Ternary plotting library for python with matplotlib

python-ternary This is a plotting library for use with matplotlib to make ternary plots plots in the two dimensional simplex projected onto a two dime

Marc 563 Jun 23, 2022
:small_red_triangle: Ternary plotting library for python with matplotlib

python-ternary This is a plotting library for use with matplotlib to make ternary plots plots in the two dimensional simplex projected onto a two dime

Marc 391 Feb 17, 2021
A Python library for plotting hockey rinks with Matplotlib.

Hockey Rink A Python library for plotting hockey rinks with Matplotlib. Installation pip install hockey_rink Current Rinks The following shows the cus

null 16 May 16, 2022
termplotlib is a Python library for all your terminal plotting needs.

termplotlib termplotlib is a Python library for all your terminal plotting needs. It aims to work like matplotlib. Line plots For line plots, termplot

Nico Schlömer 499 Jun 30, 2022
MPL Plotter is a Matplotlib based Python plotting library built with the goal of delivering publication-quality plots concisely.

MPL Plotter is a Matplotlib based Python plotting library built with the goal of delivering publication-quality plots concisely.

Antonio López Rivera 74 Jun 20, 2022
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

null 3.3k Jun 23, 2022
An intuitive library to add plotting functionality to scikit-learn objects.

Welcome to Scikit-plot Single line functions for detailed visualizations The quickest and easiest way to go from analysis... ...to this. Scikit-plot i

Reiichiro Nakano 2.2k Jun 22, 2022
🎨 Python3 binding for `@AntV/G2Plot` Plotting Library .

PyG2Plot ?? Python3 binding for @AntV/G2Plot which an interactive and responsive charting library. Based on the grammar of graphics, you can easily ma

hustcc 931 Jun 26, 2022
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

null 3.3k Jul 1, 2022
An open-source plotting library for statistical data.

Lets-Plot Lets-Plot is an open-source plotting library for statistical data. It is implemented using the Kotlin programming language. The design of Le

JetBrains 759 Jun 29, 2022
Plotting library for IPython/Jupyter notebooks

bqplot 2-D plotting library for Project Jupyter Introduction bqplot is a 2-D visualization system for Jupyter, based on the constructs of the Grammar

null 3k Feb 18, 2021
An open-source plotting library for statistical data.

Lets-Plot Lets-Plot is an open-source plotting library for statistical data. It is implemented using the Kotlin programming language. The design of Le

JetBrains 509 Feb 17, 2021
A deceptively simple plotting library for Streamlit

?? Plost A deceptively simple plotting library for Streamlit. Because you've been writing plots wrong all this time. Getting started pip install plost

Thiago Teixeira 171 Jun 5, 2022
Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax.

PyDexter Simple plotting for Python. Python wrapper for D3xter - render charts in the browser with simple Python syntax. Setup $ pip install PyDexter

D3xter 31 Mar 6, 2021
matplotlib: plotting with Python

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Check out our home page for more inform

Matplotlib Developers 15.7k Jun 22, 2022
matplotlib: plotting with Python

Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Check out our home page for more inform

Matplotlib Developers 13.1k Feb 18, 2021
Python scripts for plotting audiograms and related data from Interacoustics Equinox audiometer and Otoaccess software.

audiometry Python scripts for plotting audiograms and related data from Interacoustics Equinox 2.0 audiometer and Otoaccess software. Maybe similar sc

Hamilton Lab at UT Austin 2 Jun 15, 2022
A simple code for plotting figure, colorbar, and cropping with python

Python Plotting Tools This repository provides a python code to generate figures (e.g., curves and barcharts) that can be used in the paper to show th

Guanying Chen 85 Jun 21, 2022