简说Python,号主老表,Python终身学习者,数据分析爱好者,从18年开始分享Python知识,原创文章227篇,写过Python、SQL、Excel入门文章,也写过Web开发、数据分析文章,老表还总结整理了一份2022Python学习资料和电子书资源,关注后私信回复:2022 即可领取。
一、前言
昨天,手机突然叮咚一响,微信群跳出一条消息,“@老表 新图表库 敲可爱的画风”,还有仓库链接,
我打开看了下,原来是陈健冬大佬有搞了个新的可视化库,这,我必须尝鲜啊。
cutecharts 项目地址:https://github.com/chenjiandongx/cutecharts/
记得给个Star~
二、本文概要Part one: 可视化库cutecharts基本使用介绍
Part three : 总结 抒情
Part one : 可视化库cutecharts基本使用介绍
1.cutecharts 安装
最简单的肯定是pip
安装:
$ pip3 install cutecharts
当然,也可以进行源码安装:
$ git clone https://github.com/chenjiandongx/cutecharts.git $ cd cutecharts $ pip3 install -r requirements.txt $ python3 setup.py install
其中需要安装的第三方辅助库jinja2
,是基于Python的模板引擎,主要用于渲染可视化后的内容,最终形成可运行的html文件,当然,如果你不感兴趣,你不用过多了解,在安装cutecharts时会自动帮你安装上,但你得知道它是unicode编码,稍不注意,可能模板生成错误,比如我之前遇到过的问题:jinja2页面渲染出错-解决。
2.基本使用
目前cutecharts支持的可视化图像类型有:柱状图、折线图、饼状图、雷达图、散点图。
我想后续作者还会增加的,比如:词云图、3D柱状图、条形图等等。
另外,项目里已经给我们提供了测试用例,所以我们学习的时候就不用再去自己写测试用例了,直接调用即可。
First : 柱状图
# 导入cutecharts中的Bar from cutecharts.charts import Bar # 导入测试用例 from cutecharts.faker import Faker def bar_base() -> Bar: chart = Bar("Bar-基本示例") chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel") chart.add_series("series-A", Faker.values()) return chart bar_base().render_notebook()
渲染引擎提供了两个
.render(html_name) :生成一个本地文件,html_name为文件名(html文件), 默认名为:render.html .render_notebook() :可以在jupyter中直接运行显示,如上文代码 本文案例代码都是在Jupyter Notebook上编写运行
显示情况:
当然,里面的颜色、文字内容我们都是可以更改的。
相关函数参数,作者在Github里写的特别清楚,很方便阅读使用
内容来自:github cutecharts
Second : 折线图
from cutecharts.charts import Line from cutecharts.faker import Faker def line_base() -> Line: chart = Line("Line-基本示例") chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel", legend_pos="upRight") chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart line_base().render_notebook()
显示情况:
当然,里面的颜色、文字内容我们都是可以更改的。
相关函数参数,作者在Github里写的特别清楚,很方便阅读使用
内容来自:github cutecharts
Third : 饼图
from cutecharts.charts import Pie from cutecharts.faker import Faker def pie_base() -> Pie: chart = Pie("Pie-基本示例") chart.set_options(labels=Faker.choose()) chart.add_series(Faker.values()) return chart pie_base().render_notebook()
显示情况:
当然,里面的颜色、文字内容我们都是可以更改的。
相关函数参数,作者在Github里写的特别清楚,很方便阅读使用
内容来自:github cutecharts
Fourth : 雷达图
from cutecharts.charts import Radar from cutecharts.faker import Faker def radar_base() -> Radar: chart = Radar("Radar-基本示例") chart.set_options(labels=Faker.choose()) chart.add_series("series-A", Faker.values()) chart.add_series("series-B", Faker.values()) return chart radar_base().render_notebook()
显示情况:
当然,里面的颜色、文字内容我们都是可以更改的。
相关函数参数,作者在Github里写的特别清楚,很方便阅读使用
内容来自:github cutecharts
Fifth : 散点图
from cutecharts.charts import Scatter from cutecharts.faker import Faker def scatter_base() -> Scatter: chart = Scatter("Scatter-基本示例") chart.set_options(x_label="I'm xlabel", y_label="I'm ylabel") chart.add_series( "series-A", [(z[0], z[1]) for z in zip(Faker.values(), Faker.values())] ) chart.add_series( "series-B", [(z[0], z[1]) for z in zip(Faker.values(), Faker.values())] ) return chart scatter_base().render_notebook()
显示情况:
当然,里面的颜色、文字内容我们都是可以更改的。
相关函数参数,作者在Github里写的特别清楚,很方便阅读使用
内容来自:github cutecharts
这里由于篇幅关系,本文只对cutecharts基本图像展现做了介绍,对于以上五个类型的可视化图像的具体参数没有做展开介绍,感兴趣的可以去github查看更详细内容:
【注】本文所有代码都是在Jupyter Notebook下运行,理论上移到本地开发工具也是可以运行的,如有问题,请留言评论。
Part three : 总结 抒情
哇,终于写完了,虽然本文技术含量不是那么高,但还是有很多地方是大家可以学习的,比如:认识个牛逼的人。最后,我代替大家,其实也就是我自己想问的,问了陈键冬大佬三个问题,这里分享给大家:
Q: 1. 目前 cutecharts 只支持部分图形,后续还会开发出其他图形支持吗? 比如词云图?
A:cutecharts 是基于 chart.xkcd 开发的,目前 100% 支持其所有图形和配置项,如果 chart.xkcd 图表类型更新的话,cutecharts 也会同步更新的。
Q: 2. 你觉得 cutecharts 和 pyecharts 的关系是什么?
A:cutecharts 和 pyecharts 属于同一类项目,都是使用 Python、Notebook+JS
实现数据的可视化,不过 pyecharts 目前有着更丰富的图形种类以及更多的配置项。cutecharts 可以看做是精简版的 pyecharts,保留着 pyecharts 的所有核心功能,是学习 pyecharts 源码的很好的入手点。
Q: 3. 你有没有什么想说的,对 cutecharts 和 pyecharts 的使用者?
A:开发一个类似的库并不难,无非是找到优秀的 JS 库,设计好 Python 接口,并将两者融合在一起。所以也希望有更多 Python 开发者能够参与到这方面的开发中来,为社区贡献出更多优秀的作品。希望,我们都越来越优秀。