python 图表_Python 手绘样式图表库:cutecharts

8a22f46d10fa45e24d8f168763085d59.png

♚ 作者: 陈键冬,Python中文社区专栏作者,开源项目pyecharts核心开发者。pyecharts项目曾上榜 Github Trending in Open Source,目前star数量超过7100。 GitHub:https://github.com/chenjiandongx

项目地址

https://github.com/chenjiandongx/cutecharts

初衷

在闲逛 Github 的时候,发现了一个十分有趣的图表库 chart.xkcd,该库的图表的手绘风格很可爱。所以有了一个将 chart.xkcd 和 Python 相结合的想法,这个想法最终变成了你现在所看到的 cutecharts。

chart.xkcd 的图表类型相对 Echarts 来说少得多,只支持几种基本的图表且没有太多的配置项,想使用更丰富的图表的话 pyecharts 或许是个更好的选择。cutecharts 我个人的想法是作为一个学习如何将 Javascript 与 Python/Notebook 相结合的项目。毋庸置疑,JS 库在交互性以及动画效果上有天然的优势,若能够将其优势与 Notebook 环境结合起来的话,那将能够产生很多有趣的项目。

cutecharts 的项目结构与 pyecharts 基本保持一致,拥有 pyecharts 的所有核心功能。但是整体更加小巧,代码更加精简。如果把 cutecharts 代码读完了,再去看 pyecharts 的代码,可能就会发现,其实也就那样,根本就没什么神秘的东西。在这里也是抛砖引玉,希望 Python 社区有更多地将 JS 与 Python/Notebook 结合的优秀第三方库。cutecharts 的学习价值远大于它的使用价值。

安装

pip 安装

$ pip(3) install cutecharts
源码安装
$ git clone https://github.com/chenjiandongx/cutecharts.git
$ cd cutecharts
$ pip install -r requirements.txt
$ python setup.py install

使用

  • 图表文档:docs/charts.md

  • 组件文档:docs/components.md

  • 版本日志:docs/changelog.md

本地环境

生成 HTML

from cutecharts.charts import Line


chart = Line("某商场销售情况")
chart.set_options(
    labels=["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"], 
    x_label="I'm xlabel", 
    y_label="I'm ylabel",
)
chart.add_series("series-A", [57, 134, 137, 129, 145, 60, 49])
chart.add_series("series-B", [114, 55, 27, 101, 125, 27, 105])
chart.render()

render 方法会在本地生成一个render.html 文件,使用浏览器打开。

5ae046ee2e23bb496d755367d22c1b67.png

Notebook 环境

Jupyter Notebook

47a98a7e0b4db1ab1017d31e636fae6a.png

JupyterLab

使用 JupyterLab 需要注意 

# 1. 在顶部引入声明
from cutecharts.globals import use_jupyter_lab; use_jupyter_lab()

# 2. 在 Notebook 中第一次使用图表时,先调用一次 `load_javascript`,仅需一次。
chart.load_javascript()

fdae6549c06dea61ba6a79c2401d0a3f.png

Demo

Demo代码位于example文件夹下

719714065bfcf7466c31279e65b1c985.png

代码质量

单元测试

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

集成测试

使用 Travis CI 和 AppVeyor 持续集成环境。

代码规范

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

License

MIT ©chenjiandongx

46d63d81ad844270d5fdfea9343fae71.png

GitHub趋势榜会员
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值