发现一款数据可视化手绘神器!
来源:
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()
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
发现一款数据可视化手绘神器!相关推荐
- 未来势头大好的7款数据可视化产品!
相较于以往PPT汇报的形式而言,数据可视化包含了丰富的图表.组件信息,仅用一张屏幕就能够囊括诸多讯息,画面色彩丰富且又方便人们理解.因此,近些年来可视化大屏越来越成为大家所喜爱的一种数据展示方式. 目 ...
- 这篇文章你一定要阅读:大数据可视化以及几款数据可视化的工具介绍
大数据可视化是什么 数据可视化要根据数据的特性,可视化要根据数据的特性,如时间信息和空间信息等,找到合适的可视化方式,例如图表(Chart).图(Diagram)和地图(Map)等,将数据直观地展现出 ...
- 一款数据可视化分析报表工具
在这个数据信息化时代,每分每秒都产生海量数据,在海量数据中,挖掘出有用的数据,并且能以直观的方式展示这些数据,变得尤为重要,大家或许还在为做报表感到为难,想在众多数据中处理,查找出有用的数据,却迟迟在 ...
- 盘点5款数据可视化分析报表工具
在这个信息化时代,每分每秒都产生海量数据.在海量数据中,挖掘出有用的数据,并且能以较人性化.直观的方式展示这些数据,变得尤为重要.大家或许还在为做报表感到为难,想在众多数据中处理,查找出有用的数据, ...
- 全网首发!吹爆这款数据可视化神器,功能太强大了!
"我懵了,新同事一入职,就把我秒了--" 还没等推开门,就听到屋里一声吼叫,虽然听惯了小迪对工作的吐槽,但像这种直接奔丧的场面,还是头一次见. 我赶紧追问发生了什么. 原来,小迪新 ...
- 推荐一款数据可视化分析工具
当今时代数据分析的发展,导致数据可视化成为企业必不可少的一部分,进而市面上也就涌现出各种丰富多彩的工具.传统的Excel无疑是数据可视化工具的典型,我们平时经常使用Excel制作简单表格,简单.方便, ...
- 要数字孪生实现,你只需这款数据可视化大屏软件就够了
如果你想实现数字孪生,那么选择一款优秀的软件非常重要.选择一款优秀的软件,不仅可以提高工作效率,最终呈现的效果也会更好. 山海鲸可视化是一款优秀的数据可视化大屏软件,其上手门槛很低,同时软件性能十分强 ...
- 还在用excel做可视化图表?这款数据可视化软件让你事半功倍
众所周知,excel是一款功能强大的软件,拥有制作可视化图表的功能.但是与专门的数据可视化软件相比,excel的操作更加繁杂,而且视觉表现上也会稍逊一筹. 上面这张炫酷的数据可视化大屏就是使用专业软件 ...
- 最好用的 20 款数据可视化工具
转载原网址:http://www.iteye.com/news/28093 数据可视化可以让数据更加直观,为开发者做出正确决策奠定基础.本文将介绍20款不同的数据可视化工具,从简单列表到复杂表格,再到 ...
最新文章
- request.getparameter特殊字符变成?号问号_15 个不可不知的 Linux 特殊字符,你懂几个?...
- Web网站的性能测试工具
- CODE 大全网站整站源码分享(带数据库)
- 热点快讯:广东省能源局发布《广东省能源局关于明确全省数据中心能耗保障相关要求的通知》
- Magento Block设计分析(深入分析)
- bash功能特性二 命令别名和历史命令
- 计算机设备财产登记册,幼儿园财产登记制度
- 计算机硬盘被配制成动态磁盘。在这种情况下无法进行重装?,动态磁盘转换为基本磁盘(完美解决方案)...
- 《星科快报》第二期:元宇宙之道.
- HDU 4699 题解
- 暑期实习-京东广告架构组三面面经
- 放生主要体现在对生命尊严的维护
- thinkadmin 配置 iis 宝塔、护卫神、phpstudy伪静态设置
- AdSense 使用教程: 通过让 Google 在您的网站上投放广告,帮助您从中获利
- html 获取浏览器语言,js之获取浏览器语言
- oracle数据库基本命令使用汇总
- w10能装inventor2019_Inventor2019下载
- Ceph分布式存储详述
- 写给新手的DMOZ网站提交注意事项
- 2023版最新最全React面试题