今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts

和 Matplotlib 、pyecharts等常见的图表不同,

使用这个包可以生成下面这种看起来像手绘的各种图表,在一些场景下使用效果可能会更好。

GitHub 地址:

https://github.com/chenjiandongx/cutecharts

一行命令先安装好该库:

pip install cutecharts

也可以使用源码安装的方式:

$ git clone https://github.com/chenjiandongx/cutecharts.git
$ cd cutecharts
$ pip install -r requirements.txt
$ python setup.py install

下面就介绍下每个图表如何绘制。

首先是一些图表共通的参数:

Commons

不同图表有着部分相同的方法。

__init__

Params                                          Desc
------                                          ----
title: Optional[str] = None                     图表标题
width: str = "800px"                            图表宽度
height: str = "600px"                           图表高度
assets_host: Optional[str] = None               引用资源 Host

render

Params                                          Desc
------                                          ----
dest: str = "render.html"                       渲染的文件路径
template_name: str = "basic_local.html"         渲染使用的模板,一般不需要修改   

render_notebook

Params                                          Desc
------                                          ----
template_type: str = "basic"                    渲染使用的模板类型,一般不需要修改 

load_javascript

加载 JS 依赖,在 JupyterLab 渲染时使用。

Bar(柱状图)

cutecharts.charts.Bar

API

cutecharts.charts.Bar.set_options

Params                                          Desc
------                                          ----
labels: Iterable                                X 坐标轴标签数据
x_label: str = ""                               X 坐标轴名称
y_label: str = ""                               Y 坐标轴名称
y_tick_count: int = 3                           Y 轴刻度分割段数
colors: Optional[Iterable] = None               label 颜色数组
font_family: Optional[str] = None               CSS font-family

cutecharts.charts.Bar.add_series

Params                                          Desc
------                                          ----
name: str                                       series 名称
data: Iterable                                  series 数据列表

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:810735403

Demo

Bar-基本示例

from cutecharts.charts import Bar
from cutecharts.components import Page
from cutecharts.faker import Fakerdef 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 chartbar_base().render()

Bar-调整颜色

def bar_tickcount_colors():chart = Bar("Bar-调整颜色")chart.set_options(labels=Faker.choose(), y_tick_count=10, colors=Faker.colors)chart.add_series("series-A", Faker.values())return chart

Line(折线图)

cutecharts.charts.Line

API

cutecharts.charts.Line.set_options

Params                                          Desc
------                                          ----
labels: Iterable                                X 坐标轴标签数据
x_label: str = ""                               X 坐标轴名称
y_label: str = ""                               Y 坐标轴名称
y_tick_count: int = 3                           Y 轴刻度分割段数
legend_pos: str = "upLeft"                      图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选
colors: Optional[Iterable] = None               label 颜色数组
font_family: Optional[str] = None               CSS font-family

cutecharts.charts.Line.add_series

Params                                          Desc
------                                          ----
name: str                                       series 名称
data: Iterable                                  series 数据列表

Demo

Line-基本示例

from cutecharts.charts import Line
from cutecharts.components import Page
from cutecharts.faker import Fakerdef line_base() -> Line:chart = Line("Line-基本示例")chart.set_options(labels=Faker.choose(), x_label="I'm xlabel", y_label="I'm ylabel")chart.add_series("series-A", Faker.values())chart.add_series("series-B", Faker.values())return chart
line_base().render()

Line-Legend 位置

def line_legend():chart = Line("Line-Legend 位置")chart.set_options(labels=Faker.choose(), legend_pos="upRight")chart.add_series("series-A", Faker.values())chart.add_series("series-B", Faker.values())return chart

Line-调整颜色

def line_tickcount_colors():chart = Line("Line-调整颜色")chart.set_options(labels=Faker.choose(), colors=Faker.colors, y_tick_count=8)chart.add_series("series-A", Faker.values())chart.add_series("series-B", Faker.values())return chart

Pie(饼图)

cutecharts.charts.Pie

API

cutecharts.charts.Pie.set_options

Params                                          Desc
------                                          ----
labels: Iterable                                数据标签列表
inner_radius: float = 0.5                       Pie 图半径
legend_pos: str = "upLeft"                      图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选
colors: Optional[Iterable] = None               label 颜色数组
font_family: Optional[str] = None               CSS font-family

cutecharts.charts.Pie.add_series

Params                                          Desc
------                                       ----
data: Iterable                                  series 数据列表

Demo

Pie-基本示例

from cutecharts.charts import Pie
from cutecharts.components import Page
from cutecharts.faker import Fakerdef pie_base() -> Pie:chart = Pie("Pie-基本示例")chart.set_options(labels=Faker.choose())chart.add_series(Faker.values())return chartpie_base().render()

Pie-Legend

def pie_legend_font():chart = Pie("Pie-Legend")chart.set_options(labels=Faker.choose(),legend_pos="downLeft",font_family='"Times New Roman",Georgia,Serif;',)chart.add_series(Faker.values())return chart

Pie-Radius

def pie_radius():chart = Pie("Pie-Radius")chart.set_options(labels=Faker.choose(),inner_radius=0,)chart.add_series(Faker.values())return chart

Radar(雷达图)

cutecharts.charts.Radar

API

cutecharts.charts.Radar.set_options

Params                                          Desc
------                                          ----
labels: Iterable                                数据标签列表
is_show_label: bool = True                      是否显示标签
is_show_legend: bool = True                     是否显示图例
tick_count: int = 3                             坐标系分割刻度
legend_pos: str = "upLeft"                      图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选
colors: Optional[Iterable] = None               label 颜色数组
font_family: Optional[str] = None               CSS font-family

cutecharts.charts.Radar.add_series

Params                                          Desc
------                                          ----
name: str                                       series 名称
data: Iterable                                  series 数据列表

Demo

Radar-基本示例

from cutecharts.charts import Radar
from cutecharts.components import Page
from cutecharts.faker import Fakerdef 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 chartradar_base().render()

Radar-颜色调整

def radar_legend_colors():chart = Radar("Radar-颜色调整")chart.set_options(labels=Faker.choose(), colors=Faker.colors, legend_pos="upRight")chart.add_series("series-A", Faker.values())chart.add_series("series-B", Faker.values())return chart

Scatter(散点图)

cutecharts.charts.Scatter

API

cutecharts.charts.Scatter.set_options

Params                                          Desc
------                                          ----
x_label: str = ""                               X 坐标轴名称
y_label: str = ""                               Y 坐标轴名称
x_tick_count: int = 3                           X 轴刻度分割段数
y_tick_count: int = 3                           Y 轴刻度分割段数
is_show_line: bool = False                      是否将散点连成线
dot_size: int = 1                               散点大小
time_format: Optional[str] = None               日期格式
legend_pos: str = "upLeft"                      图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选
colors: Optional[Iterable] = None               label 颜色数组
font_family: Optional[str] = None               CSS font-family

cutecharts.charts.Scatter.add_series

Params                                          Desc
------                                          ----
name: str                                       series 名称
data: Iterable                                  series 数据列表,[(x1, y1), (x2, y2)]

Demo

Scatter-基本示例

from cutecharts.charts import Scatter
from cutecharts.components import Page
from cutecharts.faker import Fakerdef 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 chartscatter_base().render()

Scatter-散点大小

def scatter_dotsize_tickcount():chart = Scatter("Scatter-散点大小")chart.set_options(dot_size=2, y_tick_count=8)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-散点连成线

def scatter_show_line():chart = Scatter("Scatter-散点连成线")chart.set_options(y_tick_count=8, is_show_line=True)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

在这里还是要推荐下我自己建的Python开发交流学习(qq)群:810735403,群里都是学Python开发的,如果你正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和高级开发教程,欢迎进阶中和想深入Python的小伙伴!

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)相关推荐

  1. 一个没法商用,但是好玩有趣的 Python 手绘图形库!

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...

  2. 一个好玩又有趣的 Python 手绘图形库!

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...

  3. python相关性分析及画图_数据分析Python手绘图形库有哪些?

    数据分析Python手绘图形库有哪些,今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib .pyecharts 等常见的图表不同,使用这个包 ...

  4. 推荐一个 Python 手绘图形库(附代码)

    来源:Python与算法社区 本文约2400字,建议阅读10分钟 本文给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. https://github.com/chenji ...

  5. python series转int_分享丨推荐一个 Python 手绘图形库

    转自 Python与算法社区 https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts ...

  6. 用python画的炫酷图形_推荐一个炫酷Python 手绘图形库

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts.和 Matplotlib . ...

  7. 推荐一个 Python 手绘图形库

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...

  8. 数据美化 | 超Cute 的 Python 手绘图形库!

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...

  9. 图片 美化 python_数据美化 | 超Cute 的 Python 手绘图形库!

    https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...

最新文章

  1. 《自然》公布年度十大杰出论文
  2. 第 2 章 常量、变量和表达式
  3. 1.4 正则化-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  4. spring自动注入--------
  5. BugkuCTF-MISC题linux与linux2
  6. docker 主进程 日志_docker 命令 查看启动进程及日志
  7. 天梯—打印沙漏以及剩余个数(C语言)
  8. Spark 机器学习拾遗
  9. ODP.NET 之 ExecuteNoQuery 执行 Merge into 返回值
  10. c语言char数字转int补位,如何补位??
  11. SQL Server将表数据从一个数据源复制到另一个数据源(未完成)
  12. 《算法设计与分析 第2版 屈婉玲等》第五章习题答案
  13. 天津大学计算机学院网韩瑞泽,2018天津大学计算机学院考研拟录取名单
  14. 计算机微信接收excel打不开怎么回事,微信打不开收到的Excel
  15. 冻结Excel表格中前两行不滚动问题
  16. Makefile与前缀后缀相关函数suffix、basename、addsuffix、addprefix
  17. 数据库实战踩坑指南1:取前N项,需要WITH TIES
  18. 使用libimobiledevice在linux上挂载iphone6
  19. 11月29日至12月12日总结
  20. UE5 学习2- 快捷键

热门文章

  1. 在Ubuntu使用Git访问Github
  2. github copilot插件安装(vscode)
  3. React关于 this.props.children 总结
  4. 数据爬取 js 分析(二):对加密参数进行 js分析
  5. 不把问题推给老板,你就是卓越的管理者
  6. 英雄会精彩片段-电梯演讲和云计算,创业论坛
  7. Python负数的整除和取余
  8. HTML马里奥小游戏
  9. Kibana 6.7.1 简体中文版安装配置
  10. 索引的概念及其优缺点