一个有趣手绘风格的Python绘图库使用

GitHub地址在这里。首页截图如下:
在这里插入图片描述
成功安装后就可以使用了,这里我借助的是jupyter-notebook来进行实践的,原因是这个库本身也是会有与web交互的地方的,所以我觉得jupyter可能更合适。下面是具体的实践:
【柱状图】
在这里插入图片描述
【折线图】
在这里插入图片描述
【柱状图+折线图】

     当前,也是可以一张图里面同时绘制柱状图和折线图或者其他类型的图像的,这里简单举例:
from cutecharts.charts import Bar, Line
from cutecharts.faker import Faker
from cutecharts.components import Page
 
def bar_base() -> Bar:
    chart = Bar("手绘风格的柱状图")
    chart.set_options(labels=Faker.choose(), x_label="类别", y_label="数量")
    chart.add_series("series-A", Faker.values())
    return chart
 
def line_base() -> Line:
    chart = Line("手绘风格的折线统计图")
    chart.set_options(labels=Faker.choose(), x_label="种类", y_label="数量")
    chart.add_series("series-A", Faker.values())
    chart.add_series("series-B", Faker.values())
    return chart
 
 
page = Page()
page.add(bar_base(),line_base())
page.render('both.html')

在这里插入图片描述
这里也可以对线条或者图形的颜色进行调整,如下:
在这里插入图片描述
【饼图】
在这里插入图片描述
可以修改字体,如下:
在这里插入图片描述
也可以绘制正常类型的饼图【非环状】:
在这里插入图片描述
【雷达图】

在这里插入图片描述
【散点图】
在这里插入图片描述
也可以调整散点的大小程度。
在这里插入图片描述
也可以将散点连成线,这个我觉得平时使用到的场景比较少。
在这里插入图片描述
完整代码:

# -*- coding: utf-8 -*-
# ---
# jupyter:
#   jupytext:
#     formats: ipynb,py:light
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.4'
#       jupytext_version: 1.1.6
#   kernelspec:
#     display_name: python36
#     language: python
#     name: python36
# ---
 
# +
from cutecharts.charts import Bar, Line
from cutecharts.faker import Faker
from cutecharts.components import Page
 
def bar_base() -> Bar:
    chart = Bar("手绘风格的柱状图")
    chart.set_options(labels=Faker.choose(), x_label="类别", y_label="数量")
    chart.add_series("series-A", Faker.values())
    return chart
 
page = Page()
page.add(bar_base())
page.render_notebook()
 
# +
from cutecharts.charts import Bar, Line
from cutecharts.faker import Faker
from cutecharts.components import Page
 
def line_base() -> Line:
    chart = Line("手绘风格的折线统计图")
    chart.set_options(labels=Faker.choose(), x_label="种类", y_label="数量")
    chart.add_series("series-A", Faker.values())
    chart.add_series("series-B", Faker.values())
    return chart
 
page = Page()
page.add(line_base())
page.render_notebook()
 
# +
from cutecharts.charts import Bar, Line
from cutecharts.faker import Faker
from cutecharts.components import Page
 
def bar_base() -> Bar:
    chart = Bar("手绘风格的柱状图")
    chart.set_options(labels=Faker.choose(), x_label="类别", y_label="数量")
    chart.add_series("series-A", Faker.values())
    return chart
 
def line_base() -> Line:
    chart = Line("手绘风格的折线统计图")
    chart.set_options(labels=Faker.choose(), x_label="种类", y_label="数量")
    chart.add_series("series-A", Faker.values())
    chart.add_series("series-B", Faker.values())
    return chart
 
 
page = Page()
page.add(bar_base(),line_base())
page.render('both.html')
 
 
# +
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
 
 
line_tickcount_colors().render_notebook()
 
# +
from cutecharts.charts import Pie
from cutecharts.components import Page
from cutecharts.faker import Faker
 
 
def pie_base() -> Pie:
    chart = Pie("手绘风格饼图")
    chart.set_options(labels=Faker.choose())
    chart.add_series(Faker.values())
    return chart
 
 
pie_base().render_notebook()
 
 
# -
 
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_legend_font().render_notebook()
 
 
def pie_radius():
    chart = Pie("Pie-Radius")
    chart.set_options(
        labels=Faker.choose(),
        inner_radius=0,
    )
    chart.add_series(Faker.values())
    return chart
pie_radius().render_notebook()
 
# +
from cutecharts.charts import Radar
from cutecharts.components import Page
from cutecharts.faker import Faker
 
 
def radar_base() -> Radar:
    chart = Radar("手绘风格雷达图")
    chart.set_options(labels=Faker.choose())
    chart.add_series("series-A", Faker.values())
    chart.add_series("series-B", Faker.values())
    return chart
 
 
radar_base().render_notebook()
 
# +
from cutecharts.charts import Scatter
from cutecharts.components import Page
from cutecharts.faker import Faker
 
def scatter_base() -> Scatter:
    chart = Scatter("手绘风格散点图")
    chart.set_options(x_label="时间", y_label="数量")
    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_base().render_notebook()
 
 
# -
 
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_dotsize_tickcount().render_notebook()
 
 
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
scatter_show_line().render_notebook()
 
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值