【导读】:对于数据可视化工具,如果你有点腻烦了常见格调(比方:Matplotlibpyecharts),那能够试试换一种格调。

本文前哨君给大家介绍一个格调齐全不一样的开源库:cutecharts,其 UI 效仿 XKCD 漫画格调,在局部场景(比方:集体作品展现)的成果或者会更好。

补充:XKCD 是一个 IT 漫画网站,在国外十分有名气。

为什么会有 cutecharts?

据 cutecharts 的开发者介绍,他集体十分喜爱一个 JS 图表库 chart.xkcd,但它反对的图表类型不多,比 pyecharts 少很多。

Javascript 在数据交互和视觉效果上更有劣势,而 Python 是一种深受数据科学界的青睐的语言。因而,他想联合这两种技术的力量,于是就开发了 cutecharts.py。

此外,cutecharts 更多的是一个库,用来学习如何将 Javascript 世界与 Python/notebook 相结合。cutecharts 的我的项目构造与 pyecharts 雷同,它反对 pyechart s的所有外围性能,同时更轻量级,总体上也更简洁。

GitHub 地址:

https://github.com/chenjiando...

简略应用

一行命令先装置好该库:

pip install cutecharts

上面就是 cutecharts 我的项目主页提供的一些示例。

首先是一些图表共通的参数:

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

这个图表库感激有趣味的童鞋,能够试试。

开源前哨 日常分享热门、乏味和实用的开源我的项目。参加保护 10万+ Star 的开源技术资源库,包含:Python、Java、C/C++、Go、JS、CSS、Node.js、PHP、.NET 等。