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 Barfrom cutecharts.components import Pagefrom 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 Linefrom cutecharts.components import Pagefrom 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 chartline_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 Piefrom cutecharts.components import Pagefrom 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 Radarfrom cutecharts.components import Pagefrom 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 Scatterfrom cutecharts.components import Pagefrom 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图片转手绘软件_一款可以绘出手绘风格的 Python 绘图神器相关推荐

  1. python代码变成手机软件_三款可以在安卓手机上运行Python代码的软件

    导语 READ 我相信大家平时大多数时间肯定都是在电脑上面敲Python代码,有时候出门外或者不方便使用电脑的时候,你是否曾想用手机就能编写和运行Python代码呢?本文将会介绍3款不同的安卓软件帮忙 ...

  2. python图片识别验证码软件_基于python图片识别工具(图片识别,车牌,PDF,验证码)...

    先上图  不多说. 对于一般的用户来说识别率还是能达到百分之90以上. 已经打包成exe文件.windows用户可以直接使用.要软件的加我QQ python代码: # -*- coding: UTF- ...

  3. python图片背景透明软件_使图像背景透明

    我有一个橙色和白色背景的图像.我想让白色的背景透明.下面的代码使用grabcut来制作一个掩码.然后我将图像分割成rgb通道,并在alpha通道上应用遮罩.从下面的图片中可以看到,后抓取和遮罩图片都可 ...

  4. python出行轨迹记录软件_看看过去跑过哪些地方,用Python和高德API绘制跑步轨迹...

    最近几个月跑了不少步,试用了很多不同的APP,导致轨迹.跑量什么的各自为政,因此萌生了写个程序把所有跑步的轨迹都画在一张地图上的想法. 第一步,先把各个地方能导出轨迹的都导出来.看了一下.FIT .T ...

  5. python图片转手绘_python图片转素描软件

    带来一款python图片转素描软件!顾名思义,它就是一款由python语音编写的小工具,可以很方便的将彩色图片转换成素描效果,特别适合那些不用PS滤镜的朋友们.欢迎有需要的前来西西下载体验! 工具简介 ...

  6. python 最准确的图片转文字软件_图片转文字软件哪个好?5款好用的图片转文字软件推荐...

    原标题:图片转文字软件哪个好?5款好用的图片转文字软件推荐 一些网友在整理资料的时候发现,所收获的资料都是图片,大部分的文字内容都在图片上,如果一个字一个字的打出来,需要花费非常多的时间,小编的建议是 ...

  7. python图片转手绘_在Mac上用python运行图片转手绘图的代码报错,请各位大佬帮忙。...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 原文代码: # -*- coding: utf-8 -*- from PIL import Image import numpy as np im = I ...

  8. python好用的软件_【分享|10款超好用的辅助Python的软件,初学者请查收!】- 环球网校...

    [摘要]在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注Py ...

  9. github 思维导图开元软件_哪款思维导图软件比较好用?

    谢邀~ 思维导图作为一种风靡全球的知识梳理工具,广泛的运用于各个行业中,可以用来做头脑风暴.知识点梳理.项目管理等等.下面盘点了市面上几款主流好用的思维导图工具. 优点:脑图风格多样,适用于多场合,思 ...

最新文章

  1. linux php mysql.so_在linux下php挂接mysql.so扩展的方法
  2. 【Flask】Nginx / Gunicorn入门:部署你的Flask项目
  3. 使用相对长度单位em布局网页内容
  4. 假设以带头结点的循环链表表示队列_JavaScript数据结构之链表--设计
  5. 最简单的视频编码器:基于libvpx(编码YUV为VP8)
  6. 【机器学习】一文详尽系列之EM算法
  7. 首次出现日访问量突破10000,祝贺
  8. 第一个JAVA实战项目!
  9. 怎么用matlab进行博弈论计算,博弈论的Matlab算法包
  10. 高级商务办公软件应用【3】
  11. Java多线程系列--【JUC集合04】- ConcurrentHashMap
  12. Jenkins 登录时离线 offline
  13. 投资,什么是真正的风险?
  14. 深入理解Linux启动过程 0号进程,1号进程
  15. 地址转换成百度经纬度,数据太多!不愿意花钱?
  16. 央视影音大屏版apk下载_cboxtv_2.2.0(央视影音大屏版).apk
  17. Android 的monkey测试及排错步骤
  18. Web系统测试中的重点
  19. 信修修:安全省心!U盘安装纯净原版Win10系统教程!
  20. 证据理论(3)—— 计算两个证据体的距离

热门文章

  1. 字符串加密操作(c语言)
  2. excel两个表格数据对比_如何让两个Excel表格分别独立显示?
  3. 树莓派 --- 基于OpenCV实现人脸识别
  4. 网络流-最大流问题 ISAP 算法
  5. H5学习之11(html中的浮动布局)
  6. Gelma甲基丙烯酰化明胶光固化水凝胶性质与应用
  7. 第一章:操作系统概论
  8. oracle的clob类型数据,Oracle的CLOB类型数据处理
  9. cad.net 文字
  10. 惠普HP 畅游人PAVILION 进入BISO开启Intel VT-X