介绍一个有趣的可视化工具,超Q!

简介: 介绍一个有趣的可视化工具,超Q!

今天我们介绍的可视化工具是 cutecharts[1],这是一个纯 Python 语言编写的可视化工具,就像其名字一样,这是一个可以产生 cute 版图表的工具。

柱状图

基本柱状图

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

Output:

调整颜色

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

Output:

折线图

基本折线图

from cutecharts.charts import Line
from cutecharts.components import Page
from cutecharts.faker import Faker
def 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 chart
line_base().render()

Output:

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

Output:

调整颜色

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

Output:

饼图

基本饼图

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

Output:

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

Output:

Radius 调整

def pie_radius():
    chart = Pie("Pie-Radius")
    chart.set_options(
        labels=Faker.choose(),
        inner_radius=0,
    )
    chart.add_series(Faker.values())
    return chart

Output:

雷达图

基本雷达图

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

Output:

颜色调整

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

Output:

散点图

基本散点图

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

Output:

散点大小

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

Output:

散点连成线

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

Output:

好了,这就是今天分享的全部内容,喜欢就点个吧~

参考资料

[1]

cutecharts: https://github.com/cutecharts/cutecharts.py

相关文章
|
4月前
|
数据安全/隐私保护 Python
抖音主页截图生成器在线制作,抖音主页截图生成器,快手小红书抖音截图【python】
这个代码实现了一个完整的抖音主页截图生成器,包含以下功能:顶部导航栏模拟
|
4月前
|
人工智能 缓存 运维
智能体场景中,传统QPS指标不适用该怎么办?一文了解智能体性能评估的5大关键流程
本文由产品专家三桥君探讨了智能体应用中的性能评估与优化策略。三桥君指出传统QPS指标已无法全面反映智能体场景的用户体验瓶颈,强调需关注模型推理耗时与用户感知时延。三桥君提出五步评估流程:请求量分析、时段采样、耗时测算、压测对比及性能指标确定,并从推理(模型剪枝/硬件优化)、编排(异步处理/缓存)及运维(多活部署/监控)三个层面给出优化方案。通过系统化方法,可显著提升智能体响应速度与用户体验。
247 0
|
6月前
|
机器学习/深度学习 算法 计算机视觉
产教融合结成果 与阿里云合作的结晶
近日,上海市计算机学会公布2024年度教学成果奖名单,赵卫东老师荣获一等奖。他长期专注计算机科学教学与科研,在课程体系创新和人才培养方面成效显著。获奖项目《面向新工科的计算机专业实践教学体系构建与创新》聚焦工程教育需求,通过教学改革提升学生实践能力。该成果包含与阿里云合作结晶,其深度学习教材涵盖多个实际应用案例,如图像分类、声音识别等,助力读者深入理解算法实践。
149 2
产教融合结成果  与阿里云合作的结晶
|
9月前
|
移动开发 安全 Java
Android历史版本与APK文件结构
通过以上内容,您可以全面了解Android的历史版本及其主要特性,同时掌握APK文件的结构和各部分的作用。这些知识对于理解Android应用的开发和发布过程非常重要,也有助于在实际开发中进行高效的应用管理和优化。希望这些内容对您的学习和工作有所帮助。
897 83
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
279 3
|
8月前
|
人工智能 调度 光互联
中兴打造开放智算基座,帮助小厂解决算力难题
中兴打造开放智算基座,帮助小厂解决算力难题
115 6
|
10月前
|
vr&ar 图形学 计算机视觉
突破次元壁!新加坡国立发布GenXD:拿捏真实感3D、4D动态场景
新加坡国立大学团队发布GenXD,突破3D和4D场景生成难题。通过利用常见相机和物体运动,提出数据整理管道及大型4D数据集CamVid-30K,开发出能生成逼真3D/4D场景的框架。其多视角-时间模块分离相机与物体运动,支持条件视图生成。尽管存在数据覆盖和复杂场景处理的挑战,GenXD仍显著提升了生成效果,为虚拟现实、游戏开发等领域带来新机遇。论文链接:https://arxiv.org/abs/2411.02319。
198 11
|
SQL Java Serverless
实时计算 Flink版操作报错合集之在写入SLS(Serverless Log Service)时出现报错,该如何排查
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
9月前
|
人工智能 缓存 算法
轻创优选视频号爆单系统的开发
电商运营和自动化技术的综合项目,旨在通过高效的内容分发、精准的用户触达和智能化的运营策略,实现商品快速销售和流量变现
|
11月前
|
存储 人工智能 安全
《数据主权:人工智能时代的核心基石与挑战》
在数字化时代,人工智能成为社会变革的强大力量,深刻改变着我们的生活方式。数据主权作为其核心基石,涉及国家、企业和个人的数据管辖与控制权。国家层面,数据主权关乎国家安全与经济竞争力;企业层面,合规利用数据可提升竞争力,但也面临法律风险;个人层面,隐私保护至关重要。国际社会正通过法规和技术手段(如GDPR和区块链)应对这些挑战,以确保数据安全与隐私,推动人工智能健康发展。
284 18