又一款超酷的Python可视化神器:cutecharts

时间:2022-10-09 17:47:25 | 浏览:4218

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

今天给大家介绍一个很酷的 Python 手绘风格可视化神包:cutecharts

和 Matplotlib 、pyecharts 等常见的图表不同,使用这个包可以生成看起来像手绘的各种图表,在一些特殊场景下使用效果可能会更好。

GitHub 地址:

https://github.com/chenjiandongx/cutecharts

它的画风是这样的:

  • cutecharts是由pyecharts作者chenjiandongx开源的一个轻量级的项目;

  • 目前支持Bar,LinePieRadarScatter五种图表;

  • 支持Page组合图表;

安装

  • pip install cutecharts;

Line——基本示例

支持的参数直接参考源码中的注释就好~

def set_options( self, labels: Iterable, x_label: str = "", y_label: str = "", y_tick_count: int = 3, legend_pos: str = "upLeft", colors: Optional[Iterable] = None, font_family: Optional[str] = None, ): """ :param labels: X 坐标轴标签数据 :param x_label: X 坐标轴名称 :param y_label: Y 坐标轴名称 :param y_tick_count: Y 轴刻度分割段数 :param legend_pos: 图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选 :param colors: label 颜色数组 :param font_family: CSS font-family """
def add_series(self, name: str, data: Iterable): """ :param name: series 名称 :param data: series 数据列表 """

基本示例

from cutecharts.charts import Line# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data_1 = [57, 134, 137, 129, 145, 60, 49]y_data_2 = [114, 55, 27, 101, 125, 27, 105]
chart = Line("Mobile phone sales")chart.set_options( labels=x_data, x_label="Brand", y_label="Sales",)chart.add_series("series-A", y_data_1)chart.add_series("series-B", y_data_2)chart.render_notebook

修改图例位置

from cutecharts.charts import Line# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data_1 = [57, 134, 137, 129, 145, 60, 49]y_data_2 = [114, 55, 27, 101, 125, 27, 105]
chart = Line("Mobile phone sales")chart.set_options( labels=x_data, x_label="Brand", y_label="Sales", legend_pos="upRight")chart.add_series("series-A", y_data_1)chart.add_series("series-B", y_data_2)chart.render_notebook

Bar——基本示例

不支持多个系列的数据~

def set_options( self, labels: Iterable, x_label: str = "", y_label: str = "", y_tick_count: int = 3, colors: Optional[Iterable] = None, font_family: Optional[str] = None, ): """ :param labels: X 坐标轴标签数据 :param x_label: X 坐标轴名称 :param y_label: Y 坐标轴名称 :param y_tick_count: Y 轴刻度分割段数 :param colors: label 颜色数组 :param font_family: CSS font-family """
def add_series(self, name: str, data: Iterable): """ :param name: series 名称 :param data: series 数据列表 """

基本示例

# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data = [57, 134, 137, 129, 145, 60, 49]
chart = Bar("Mobile phone sales")chart.set_options( labels=x_data, x_label="Brand", y_label="Sales", colors=Faker.colors)chart.add_series("series-A", y_data)
chart.render_notebook

Pie——基本示例

def set_options( self, labels: Iterable, inner_radius: float = 0.5, legend_pos: str = "upLeft", colors: Optional[Iterable] = None, font_family: Optional[str] = None, ): """ :param labels: 数据标签列表 :param inner_radius: Pie 图半径 :param legend_pos: 图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选 :param colors: label 颜色数组 :param font_family: CSS font-family """
def add_series(self, data: Iterable): """ :param data: series 数据列表 """

基本示例

# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data = [57, 134, 137, 129, 145, 60, 49]
chart = Pie("Mobile phone sales")chart.set_options( labels=x_data, colors=Faker.colors)chart.add_series(y_data)
chart.render_notebook

修改内圈半径

# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data = [57, 134, 137, 129, 145, 60, 49]
chart = Pie("Mobile phone sales")chart.set_options( labels=x_data, inner_radius=0, colors=Faker.colors)chart.add_series(y_data)
chart.render_notebook

Radar——基本示例

参考代码注释:

def set_options( self, labels: Iterable, is_show_label: bool = True, is_show_legend: bool = True, tick_count: int = 3, legend_pos: str = "upLeft", colors: Optional[Iterable] = None, font_family: Optional[str] = None, ): """ :param labels: 数据标签列表 :param is_show_label: 是否显示标签 :param is_show_legend: 是否显示图例 :param tick_count: 坐标系分割刻度 :param legend_pos: 图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选 :param colors: label 颜色数组 :param font_family: CSS font-family """
def add_series(self, name: str, data: Iterable): """ :param name: series 名称 :param data: series 数据列表 """

基本示例

# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data_1 = [57, 134, 137, 129, 145, 60, 49]y_data_2 = [114, 55, 27, 101, 125, 27, 105]
chart = Radar("Mobile phone sales")chart.set_options( labels=x_data, is_show_legend=True, colors=Faker.colors)chart.add_series("series-A", y_data_1)chart.add_series("series-B", y_data_2)chart.render_notebook

Scatter——基本示例

 def set_options( self, x_label: str = "", y_label: str = "", x_tick_count: int = 3, y_tick_count: int = 3, is_show_line: bool = False, dot_size: int = 1, time_format: Optional[str] = None, legend_pos: str = "upLeft", colors: Optional[Iterable] = None, font_family: Optional[str] = None, ): """ :param x_label: X 坐标轴名称 :param y_label: Y 坐标轴名称 :param x_tick_count: X 轴刻度分割段数 :param y_tick_count: Y 轴刻度分割段数 :param is_show_line: 是否将散点连成线 :param dot_size: 散点大小 :param time_format: 日期格式 :param legend_pos: 图例位置,有 "upLeft", "upRight", "downLeft", "downRight" 可选 :param colors: label 颜色数组 :param font_family: CSS font-family """
def add_series(self, name: str, data: Iterable): """ :param name: series 名称 :param data: series 数据列表,[(x1, y1), (x2, y2)] """

基本示例

# 随机生成数据data_1 = [(random.randint(0, 100), random.randint(0, 100)) for _ in range(100)]data_2 = [(random.randint(0, 100), random.randint(0, 100)) for _ in range(100)]
chart = Scatter("random dot")chart.set_options( x_label = "I"m x-label", y_label = "I"m x-yabel", x_tick_count = 3, y_tick_count = 3, is_show_line = False, dot_size = 1, legend_pos = "upLeft", colors=Faker.colors)chart.add_series("series-A", data_1)chart.add_series("series-A", data_2)chart.render_notebook

点连线

# 随机生成数据data_1 = [(random.randint(0, 100), random.randint(0, 100)) for _ in range(10)]data_2 = [(random.randint(0, 100), random.randint(0, 100)) for _ in range(10)]
chart = Scatter("random dot")chart.set_options( x_label = "I"m x-label", y_label = "I"m x-yabel", x_tick_count = 3, y_tick_count = 3, is_show_line = True, dot_size = 1, legend_pos = "upLeft", colors=Faker.colors)chart.add_series("series-A", data_1)chart.add_series("series-A", data_2)chart.render_notebook

组合图表——Page

# 虚假数据x_data = ["Apple", "Huawei", "Xiaomi", "Oppo", "Vivo", "Meizu", "OnePlus"]y_data = [57, 134, 137, 129, 145, 60, 49]
chart_1 = Pie("Mobile phone sales")chart_1.set_options( labels=x_data, inner_radius=0.6, colors=Faker.colors)chart_1.add_series(y_data)
chart_2 = Bar("Mobile phone sales")chart_2.set_options( labels=x_data, x_label="Brand", y_label="Sales", colors=Faker.colors)chart_2.add_series("series-A", y_data)
page = Pagepage.add(chart_1, chart_2)page.render_notebook

原文链接:https://blog.csdn.net/qq_27484665/article/details/115472329

相关资讯

为什么国内很多人都在说Python好,真正招聘的时候不需要呢?

Python是一门很出色的胶水语言,也就是当我们有现成的组件后,Python非常适合将他们组装起来。机器学习的例子就比较典型。我们用C++写好Tensorflow,用C写好Numpy,用Scala写好Spark,现在想用这些组件训练一个机器

“微型应急站”进驻“小蛮腰”内设“救命神器”

金羊网记者 符畅 通讯员 符超量在公共场所,面对突发疾病和意外伤害,该如何迅速自救及拯救他人?8月2日,广州市首批试点推行的“微型应急站”在广州塔旅游信息咨询中心启动,站内放有自动体外除颤仪(简称AED)和急救箱等器械,将为公共场所急救提供

羊城广州终于安装AED啦!这里有救命神器的具体位置!

羊城广州在AED普及方面已经落后其他三个一线城市很多年,甚至落后杭州、宁波等很多其他城市。今天,羊城广州总算跟上啦!AED终于开始在公共场所安装啦!首批试点的八个安装有AED的“微型应急站”站点:1、机场A6咨询站点:白云机场 A到达区

PHP、Java、Python、C、C++这几种编程语言都有什么特点或优点?

一、强类型和弱类型语言:C、 C++、 Java 、Python都是强类型的语言。PHP是弱类型的语言。强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义

铁打的Python连续3年第一,PHP跌出前十:IEEE编程语言排行榜出炉

乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAIPython势头不减,依旧第一,而且进一步拉开了与其他语言的差距。这一结果,来自IEEE Spectrum2019年度编程语言排行榜。这已经是Python连续3年保持第一。在Pyth

C、C++、Java、JavaScript、PHP、Python分别用来开发什么?

首先,我们先普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。

11月编程语言榜已出!Python蝉联榜首,PHP将跌出前十

全球知名TIOBE 编程语言社区发布了11 月编程语言排行榜。下面让我们一起来看看,本月榜单中有哪些值得注意的新变化吧!01PHP即将跌出前十自 20 多年前 TIOBE 指数开始发布以来,PHP 一直常驻在榜单前十,然而最近,该语言已经开

PHP、Ruby、Python:三种编程语言谁最强?

【51CTO.com快译】在本文中,我们将逐一介绍目前人气较高的三种编程语言:PHP、Ruby和Python。我们将分析它们是如何工作的,它们彼此有何不同,谁在使用它们,以及每种语言受欢迎的程度。一、 PHP:互联网上最受欢迎的脚本语言PH

TIOBE11月编程语言排行:Python超越C语言成第一!PHP将掉前十?

TIOBE 编程社区指数是编程语言流行程度的指标。该指数每月更新一次。评级基于全球熟练工程师、课程和第三方供应商的数量。谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度等流行搜索引擎用于计算评分。需要注意的是,TIOBE 指数与最

零基础选择Java、PHP、Python还是前端培训好呢?

IT行业现在依然是求职转行人群的首选,那么当下的IT培训机构中IT技术课程类目繁多,尤其是Java培训,PHP培训,Python培训以及前端培训最火,零基础人员如何选择一种适合自己的编程开发语言课程去学习入行呢?前三者属于后端的开发语言,我

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈徽州大峡谷漂流网体育资讯网菠萝水果网资阳新闻头条网今日廊坊爱婴岛母婴科勒卫浴资讯网水瓶座运势网发型设计大全今日阜阳生肖马运势网生物科技网杭州亚运会资讯网今日张家口新乡新闻头条网
网球运动网-网球运动孕育在法国,起源于19世纪的英国,20世纪开始在世界范围内快速发展,它是一项优美而充满竞技性的体育运动,其特有的魅力已让世人所喜爱。网球运动网是一家以网球为核心的社交互动网站,致力于为广大的网球爱好者和网球事业经营者提供一个集资讯、学院、场馆、论坛等形式为一体的整合交流平台网站。
网球运动网 qibafen.cn ©2022-2028版权所有