一个没法商用,但是好玩有趣的 Python 手绘图形库!
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
由于微信平台算法改版,公号内容将不再以时间排序展示,如果大家想第一时间看到我们的推送,强烈建议星标我们和给我们多点点【在看】。星标具体步骤为:
(1)点击页面最上方“小詹学Python”,进入公众号主页。(2)点击右上角的小点点,在弹出页面点击“设为星标”,就可以啦。感谢支持,比心。
一个没法商用,但是好玩有趣的 Python 手绘图形库!相关推荐
- 一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)
今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts 和 Matplotlib .pyecharts等常见的图表不同, 使用这个包可以生成下面这种看起来像手绘的各种图表, ...
- 一个好玩又有趣的 Python 手绘图形库!
https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...
- python相关性分析及画图_数据分析Python手绘图形库有哪些?
数据分析Python手绘图形库有哪些,今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib .pyecharts 等常见的图表不同,使用这个包 ...
- 推荐一个 Python 手绘图形库(附代码)
来源:Python与算法社区 本文约2400字,建议阅读10分钟 本文给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. https://github.com/chenji ...
- python series转int_分享丨推荐一个 Python 手绘图形库
转自 Python与算法社区 https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts ...
- 用python画的炫酷图形_推荐一个炫酷Python 手绘图形库
https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts.和 Matplotlib . ...
- 推荐一个 Python 手绘图形库
https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...
- 数据美化 | 超Cute 的 Python 手绘图形库!
https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...
- 图片 美化 python_数据美化 | 超Cute 的 Python 手绘图形库!
https://github.com/chenjiandongx/cutecharts 今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts. 和 Matplotlib ...
最新文章
- 使用getopts处理选项
- linux下的软件包安装(rpm yum)
- Visual C# 2010从入门到精通
- telnet 22正常 ssh无法连接_Telnet咋就不安全了呢?带你来看用户名和密码
- C语言orders order订单的算法(附完整源码)
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素...
- 从“技术理性”到“实践智慧” 华为云这波大招够强
- 记录linux启动次数的脚本,类UNIX系统中启动脚本记录
- Kubernetes的Service外部访问方式:NodePort和LoadBalancer
- 纯命令版饥荒安装教程-自己使用
- 软件工程-实践者的研究方法第八版(不全)
- compositionstart、compositionend事件屏蔽拼音状态
- 卡方检验有哪些指标?卡方值怎么计算?
- ViewBinding使用时出现Could not find method viewBinding() for arguments错误
- 实现ecshop一键发货功能的方法
- 用 Python 制作“会跳舞”的动态图表
- python日历节日表_python日历模块_Python日历模块| calendar()方法与示例
- 互联网到底怎么连接的?一张图告诉你
- 至多删三个字符(动态规划字符串问题)
- PROFIBUS远程IO在加工车间的应用
热门文章
- idea 快捷键整理
- 计算php代码执行时间长短的类
- ./utserver: error while loading shared libraries: libcrypto.so.0.9.8: cannot open shared object file
- PHP返回数据json数据样式要求是对象{},而不是[]
- Basic链表与队列的区别
- php和java之间rsa加密互通
- 社会化图标html,[CSS]响应式社会化分享按钮
- php写poc,xray写POC踩坑
- 以某个字符开始_小白从零开始数据分析01—Excel常用公式汇总(数据清洗)
- asp功放怎么装_汽车功放怎么安装 汽车功放安装调试方法【详解】