一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图…)

今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts和 Matplotlib、 pyecharts 等常见的图表不同, 使用这个包可以生成下面这种看起来像手绘的各种图表,在一些场景下使用效果可能会更好。

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

来源丨GitPython

今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts 和 Matplotlib、 pyecharts 等常见的图表不同,使用这个包可以生成下面这种看起来像手绘的各种图表,在一些场景下使用效果可能会更好。

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

GitHub 地址:

https://github.com/chenjiandongx/cutecharts

一行命令先 安装好该库:

pip install cutecharts

也可以使用源码安装的方式:

$git clonehttps://github.com/chenjiandongx/cutecharts.git

$cdcutecharts

$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

ParamsDesc

—— —-

dest: str = “render.html”渲染的文件路径

template_name: str = “basic_local.html”渲染使用的模板,一般不需要修改

render_notebook

ParamsDesc

—— —-

template_type: str = “basic”渲染使用的模板类型,一般不需要修改

load_java

加载 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-基本示例

fromcutecharts.charts importBar

fromcutecharts.components importPage

fromcutecharts.faker importFaker

defbar_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)

returnchart

bar_base.render

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Bar-调整颜色

defbar_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)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Line(折线图)

cutecharts.charts.Line

API

cutecharts.charts.Line.set_options

Params Desc

—— —-

labels: IterableX 坐标轴标签数据

x_label: str = “”X 坐标轴名称

y_label: str = “”Y 坐标轴名称

y_tick_count: int= 3Y 轴刻度分割段数

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-基本示例

fromcutecharts.charts importLine

fromcutecharts.components importPage

fromcutecharts.faker importFaker

defline_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)

returnchart

line_base.render

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Line-Legend 位置

defline_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)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Line-调整颜色

defline_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)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Pie(饼图)

cutecharts.charts.Pie

API

cutecharts.charts.Pie.set_options

Params Desc

—— —-

labels: Iterable 数据标签列表

inner_radius: float = 0.5Pie 图半径

legend_pos: str = “upLeft”图例位置,有 “upLeft”, “upRight”, “downLeft”, “downRight”可选

colors: Optional[Iterable] = Nonelabel 颜色数组

font_family: Optional[str] = NoneCSS font-family

cutecharts.charts.Pie.add_series

Params Desc

—— —-

data: Iterable series 数据列表

Demo

Pie-基本示例

fromcutecharts.charts importPie

fromcutecharts.components importPage

fromcutecharts.faker importFaker

defpie_base-> Pie:

chart = Pie( “Pie-基本示例”)

chart.set_options(labels=Faker.choose)

chart.add_series(Faker.values)

returnchart

pie_base.render

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Pie-Legend

defpie_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)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Pie-Radius

defpie_radius:

chart = Pie( “Pie-Radius”)

chart.set_options(

labels=Faker.choose,

inner_radius= 0,

)

chart.add_series(Faker.values)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

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-基本示例

fromcutecharts.charts importRadar

fromcutecharts.components importPage

fromcutecharts.faker importFaker

defradar_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)

returnchart

radar_base.render

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Radar-颜色调整

defradar_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)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Scatter(散点图)

cutecharts.charts.Scatter

API

cutecharts.charts.Scatter.set_options

Params Desc

—— —-

x_label: str = “”X 坐标轴名称

y_label: str = “”Y 坐标轴名称

x_tick_count: int= 3X 轴刻度分割段数

y_tick_count: int= 3Y 轴刻度分割段数

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-基本示例

fromcutecharts.charts importScatter

fromcutecharts.components importPage

fromcutecharts.faker importFaker

defscatter_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]) forz inzip(Faker.values, Faker.values)]

)

chart.add_series(

“series-B”, [(z[ 0], z[ 1]) forz inzip(Faker.values, Faker.values)]

)

returnchart

scatter_base.render

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Scatter-散点大小

defscatter_dotsize_tickcount:

chart = Scatter( “Scatter-散点大小”)

chart.set_options(dot_size= 2, y_tick_count= 8)

chart.add_series(

“series-A”, [(z[ 0], z[ 1]) forz inzip(Faker.values, Faker.values)]

)

chart.add_series(

“series-B”, [(z[ 0], z[ 1]) forz inzip(Faker.values, Faker.values)]

)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

Scatter-散点连成线

defscatter_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]) forz inzip(Faker.values, Faker.values)]

)

chart.add_series(

“series-B”, [(z[ 0], z[ 1]) forz inzip(Faker.values, Faker.values)]

)

returnchart

一个好玩有趣的Python手绘图形库(雷达图、柱状图、折线图...)

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(0)
上一篇 2022-03-21 01:01
下一篇 2022-04-02 00:22

相关文章

关注我们
关注我们
分享本页
返回顶部