来源丨GitPython
今天,给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts 和 Matplotlib、 pyecharts 等常见的图表不同,使用这个包可以生成下面这种看起来像手绘的各种图表,在一些场景下使用效果可能会更好。
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
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
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
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
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
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
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
Pie-Radius
defpie_radius:
chart = Pie( “Pie-Radius”)
chart.set_options(
labels=Faker.choose,
inner_radius= 0,
)
chart.add_series(Faker.values)
returnchart
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
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
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
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
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
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。