zoukankan      html  css  js  c++  java
  • Python中使用cutecharts实现简单的手绘风格的图表

    场景

    效果

    cutecharts的Github:

    https://github.com/chenjiandongx/cutecharts

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    安装cutecharts

    pip install cutecharts

    简单折线图

    新建cutecharts.py

    from cutecharts.charts import Line
    
    
    chart = Line("某商场销售情况")
    chart.set_options(
        labels=["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"], 
        x_label="I'm xlabel", 
        y_label="I'm ylabel",
    )
    chart.add_series("series-A", [57, 134, 137, 129, 145, 60, 49])
    chart.add_series("series-B", [114, 55, 27, 101, 125, 27, 105])
    chart.render()

    运行后会在同目录下生成render.html

    效果如上。

    柱状图

    新建py文件

    from cutecharts.charts import Bar
    from cutecharts.components import Page
    from cutecharts.faker import Faker
    
    
    def 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 chart
    
    
    bar_base().render()
    
    
    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
    
    
    page = Page()
    page.add(bar_base(), bar_tickcount_colors())
    page.render()

    效果

    饼状图

    新建py文件

    from cutecharts.charts import Pie
    from cutecharts.components import Page
    from cutecharts.faker import Faker
    
    
    def pie_base() -> Pie:
        chart = Pie("Pie-基本示例")
        chart.set_options(labels=Faker.choose())
        chart.add_series(Faker.values())
        return chart
    
    
    pie_base().render()
    
    
    def pie_legend_font():
        chart = Pie("Pie-Legend")
        chart.set_options(
            labels=Faker.choose(),
            legend_pos="upRight",
            font_family='"Times New Roman",Georgia,Serif;',
        )
        chart.add_series(Faker.values())
        return chart
    
    
    def pie_radius():
        chart = Pie("Pie-Radius")
        chart.set_options(labels=Faker.choose(), inner_radius=0)
        chart.add_series(Faker.values())
        return chart
    
    
    page = Page()
    page.add(pie_base(), pie_legend_font(), pie_radius())
    page.render()

    效果

    雷达图

    新建py文件

    from cutecharts.charts import Radar
    from cutecharts.components import Page
    from cutecharts.faker import Faker
    
    
    def 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 chart
    
    
    radar_base().render()
    
    
    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
    
    
    page = Page()
    page.add(radar_base(), radar_legend_colors())
    page.render()

    效果

    散点图

    新建py文件

    from cutecharts.charts import Scatter
    from cutecharts.components import Page
    from cutecharts.faker import Faker
    
    
    def 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 chart
    
    
    scatter_base().render()
    
    
    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
    
    
    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
    
    
    page = Page()
    page.add(scatter_base(), scatter_dotsize_tickcount(), scatter_show_line())
    page.render()

    效果

  • 相关阅读:
    第一节,Django+Xadmin打造上线标准的在线教育平台—创建用户app,在models.py文件生成3张表,用户表、验证码表、轮播图表
    Tensorflow 错误:Unknown command line flag 'f'
    Python 多线程总结
    Git 强制拉取覆盖本地所有文件
    Hive常用函数 傻瓜学习笔记 附完整示例
    Linux 删除指定大小(范围)的文件
    Python 操作 HBase —— Trift Trift2 Happybase 安装使用
    梯度消失 梯度爆炸 梯度偏置 梯度饱和 梯度死亡 文献收藏
    Embedding 文献收藏
    深度学习在CTR预估中的应用 文献收藏
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11938481.html
Copyright © 2011-2022 走看看