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

需要相关资料的可以通过扫一扫 备注【python·】

Python 绘图还在用 Matplotlib?发现一款手绘可视化神器!相关推荐

  1. Python绘图还在用Matplotlib?out了 !发现一款手绘可视化神器!

    有不少同学后台留言,想要学习可视化的内容,今天小Z给大家分享一篇非常有意思的可视化文章. 本文来源:高级农民工 转自: https://github.com/chenjiandongx/cutecha ...

  2. python图片转手绘软件_Python手绘可视化工具cutecharts使用实例

    这篇文章主要介绍了Python手绘可视化工具cutecharts使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,给大家介绍一个很酷的 ...

  3. Python使用matplotlib绘制卡通、手绘风格的图像

    博主已经开通微信公众号啦,欢迎关注哈! 入门数据科学这一行以来,陆陆续续学到了很多专业领域的知识,数据可视化就是其中的一部分,在Python中提供数据可视化的工具也不少,但是最为著名的莫过于matpl ...

  4. 发现一款自学Java可视化工具神器,非常牛逼,太爱了!

    最近发现一款Java自学神器,超级牛逼,今天分享给大家. 介绍 Codegym 是一个以 Java 为中心的平台,它比其他平台上都要更加深入的介绍 Java,这个网站将理论和实践知识相结合,你可以在上 ...

  5. 2020年日历_2020年已经进入倒计时啦,你还没入新一年的手绘台历嘛?

    [文大美丽2021年原创手绘台历],今年来得有点儿晚了,12月了才跟大家见面,久等了哈. 虽然来得晚了些,but这小小的一本台历,我们从夏天,一直画到了冬天,拿出了画绘本的劲头儿去画它. 每一个小小的 ...

  6. python画图-Python 绘图,我只用 Matplotlib(二)

    图片来自 unsplash 上篇文章,我们了解到 Matplotlib 是一个风格类似 Matlab 的基于 Python 的绘图库.它提供了一整套和matlab相似的命令API,十分适合交互式地进行 ...

  7. Python 绘图,我只用 Matplotlib

    散点图 散点图显示两组数据的值,如图1-1所示.每个点的坐标位置由变量的值决定,并由一组不连接的点完成,用于观察两种变量的相关性.例如,身高-体重.温度-维度. 图1-1 散点图示例 使用Matplo ...

  8. python绘图函数返回_python – Matplotlib返回一个绘图对象

    我有一个包装pyplot.plt的函数,所以我可以使用经常使用的默认值快速创建图形: def plot_signal(time, signal, title='', xlab='', ylab='', ...

  9. python 用 PIL image 包,把图片变成手绘

    图像的手绘效果图 手绘效果的几个特征: • 黑白灰色 • 边界线条较重 • 相同或相近色彩趋于白色 • 略有光源效果 视频讲解:点击此处 # 图像的手绘效果图 from PIL import Imag ...

最新文章

  1. 旅行家的预算[贪心]
  2. zabbix 4.0.3 use docker-compose deploy
  3. conda command not found ubuntu
  4. Python 18.4 aiohttp
  5. 2引擎帮助文档_Simcenter Amesim 16液压部分帮助文档中英文对照(2)
  6. oracle往游标中存数据,Oracle数据库:ORACLE11G在存储过程里面遍历游标
  7. python能做什么项目-python适合什么开发
  8. IROS2020 | 鲁棒全景视觉惯性导航系统ROVINS
  9. EXCEl快速删除大量空白行
  10. 手机java jdk环境配置文件_JDK怎么安装与配置环境变量
  11. Verilog 教程
  12. NGINX简介及工作原理
  13. 面料ERP_面料软件_面料管理软件
  14. cad快看_CAD中遇到文件损坏,别着急,这几招能帮你挽回损失
  15. 阿里云宝塔apache启动失败解决办法
  16. maya建模模型变黑问题解决
  17. 阿里品牌数据银行分析师认证
  18. 抖音最火刺激战场S5新赛季灵敏度:用过的都说好,建议收藏
  19. Android底层和中间层共同学习系列之android键盘映射
  20. VMware虚拟机使用虚拟机网络编辑器NAT模式配置网络图文教程,实现联网功能并测试

热门文章

  1. 关于Linux的学习
  2. 再生核Hilbert空间
  3. ORB-SLAM学习总结
  4. 使用Winhex查看U盘数据
  5. Android Studio SD卡访问权限及asserts文件夹下的文件操作
  6. 计算机控制技术王超,王超 研究生副院长
  7. 武汉大学计算机学院历任院长,胡瑞敏 - 教师简历 CV- 武汉大学计算机学院
  8. MySQL索引的优缺点
  9. jsp如何引入html样式,jsp怎么引入css样式?
  10. Office Visio 2007安装教程