来源:

https://github.com/chenjiandongx/cutecharts

今天,给大家介绍一个很酷的 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 数据列表

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()

img

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

img

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()

img

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

img

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

img

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()

img

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

img

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

img

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()

img

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

img

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

img

发现一款数据可视化手绘神器!相关推荐

  1. 未来势头大好的7款数据可视化产品!

    相较于以往PPT汇报的形式而言,数据可视化包含了丰富的图表.组件信息,仅用一张屏幕就能够囊括诸多讯息,画面色彩丰富且又方便人们理解.因此,近些年来可视化大屏越来越成为大家所喜爱的一种数据展示方式. 目 ...

  2. 这篇文章你一定要阅读:大数据可视化以及几款数据可视化的工具介绍

    大数据可视化是什么 数据可视化要根据数据的特性,可视化要根据数据的特性,如时间信息和空间信息等,找到合适的可视化方式,例如图表(Chart).图(Diagram)和地图(Map)等,将数据直观地展现出 ...

  3. 一款数据可视化分析报表工具

    在这个数据信息化时代,每分每秒都产生海量数据,在海量数据中,挖掘出有用的数据,并且能以直观的方式展示这些数据,变得尤为重要,大家或许还在为做报表感到为难,想在众多数据中处理,查找出有用的数据,却迟迟在 ...

  4. 盘点5款数据可视化分析报表工具

    ​在这个信息化时代,每分每秒都产生海量数据.在海量数据中,挖掘出有用的数据,并且能以较人性化.直观的方式展示这些数据,变得尤为重要.大家或许还在为做报表感到为难,想在众多数据中处理,查找出有用的数据, ...

  5. 全网首发!吹爆这款数据可视化神器,功能太强大了!

    "我懵了,新同事一入职,就把我秒了--" 还没等推开门,就听到屋里一声吼叫,虽然听惯了小迪对工作的吐槽,但像这种直接奔丧的场面,还是头一次见. 我赶紧追问发生了什么. 原来,小迪新 ...

  6. 推荐一款数据可视化分析工具

    当今时代数据分析的发展,导致数据可视化成为企业必不可少的一部分,进而市面上也就涌现出各种丰富多彩的工具.传统的Excel无疑是数据可视化工具的典型,我们平时经常使用Excel制作简单表格,简单.方便, ...

  7. 要数字孪生实现,你只需这款数据可视化大屏软件就够了

    如果你想实现数字孪生,那么选择一款优秀的软件非常重要.选择一款优秀的软件,不仅可以提高工作效率,最终呈现的效果也会更好. 山海鲸可视化是一款优秀的数据可视化大屏软件,其上手门槛很低,同时软件性能十分强 ...

  8. 还在用excel做可视化图表?这款数据可视化软件让你事半功倍

    众所周知,excel是一款功能强大的软件,拥有制作可视化图表的功能.但是与专门的数据可视化软件相比,excel的操作更加繁杂,而且视觉表现上也会稍逊一筹. 上面这张炫酷的数据可视化大屏就是使用专业软件 ...

  9. 最好用的 20 款数据可视化工具

    转载原网址:http://www.iteye.com/news/28093 数据可视化可以让数据更加直观,为开发者做出正确决策奠定基础.本文将介绍20款不同的数据可视化工具,从简单列表到复杂表格,再到 ...

最新文章

  1. request.getparameter特殊字符变成?号问号_15 个不可不知的 Linux 特殊字符,你懂几个?...
  2. Web网站的性能测试工具
  3. CODE 大全网站整站源码分享(带数据库)
  4. 热点快讯:广东省能源局发布《广东省能源局关于明确全省数据中心能耗保障相关要求的通知》
  5. Magento Block设计分析(深入分析)
  6. bash功能特性二 命令别名和历史命令
  7. 计算机设备财产登记册,幼儿园财产登记制度
  8. 计算机硬盘被配制成动态磁盘。在这种情况下无法进行重装?,动态磁盘转换为基本磁盘(完美解决方案)...
  9. 《星科快报》第二期:元宇宙之道.
  10. HDU 4699 题解
  11. 暑期实习-京东广告架构组三面面经
  12. 放生主要体现在对生命尊严的维护
  13. thinkadmin 配置 iis 宝塔、护卫神、phpstudy伪静态设置
  14. AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
  15. html 获取浏览器语言,js之获取浏览器语言
  16. oracle数据库基本命令使用汇总
  17. w10能装inventor2019_Inventor2019下载
  18. Ceph分布式存储详述
  19. 写给新手的DMOZ网站提交注意事项
  20. 2023版最新最全React面试题

热门文章

  1. TI SAE J1772兼容电动汽车充电器参考设计TIDA-010071
  2. 拒绝了我们的连接请求
  3. 视频直播系统开发:如何应对高并发访问?
  4. VMware WorkStation虚拟机的安装,以及在虚拟机上安装CentOS
  5. java开发中异常处理的几种手段
  6. python shell换行问题
  7. 看我逆向小米rom层应用做碎片化适配
  8. 【详解】计算机视觉之目标分割
  9. QML 阴影边框实现
  10. 孢子社群:今日推荐ARVR微信群:虚拟现实体验联盟