Pyecharts之特殊图表的独特展示

news/2025/1/31 15:02:07/

在数据可视化的世界里,除了常见的柱状图、折线图、饼图等,还有一些特殊的图表可以为我们带来独特的展示效果,帮助我们以更有趣、更直观的方式呈现数据。Pyecharts 为我们提供了多种特殊图表的绘制功能,本文将介绍象形图、水球图和日历图的定制方法,让你能够创建出与众不同的数据可视化作品。

一、象形图自定义图形

象形图是一种使用自定义图形来表示数据的图表,比普通的柱状图更加形象生动。下面是 pictorialbar_with_custom_symbol() 函数的示例代码,展示了如何创建象形图并自定义其图形:

python">from pyecharts.charts import PictorialBar
from pyecharts import options as optsdef pictorialbar_with_custom_symbol():pictorialbar = PictorialBar()x_data = ['A', 'B', 'C', 'D', 'E']y_data = [50, 100, 150, 200, 250]pictorialbar.add_xaxis(x_data)# 使用自定义图形,这里使用 'circle' 作为示例pictorialbar.add_yaxis("",y_data,symbol_size=20,symbol_repeat="fixed",symbol_offset=[0, 0],symbol='circle',  # 自定义图形为圆形label_opts=opts.LabelOpts(is_show=False))pictorialbar.set_global_opts(title_opts=opts.TitleOpts(title="象形图自定义图形"),xaxis_opts=opts.AxisOpts(is_show=False),  # 隐藏 x 轴yaxis_opts=opts.AxisOpts(is_show=False)  # 隐藏 y 轴)return pictorialbarchart = pictorialbar_with_custom_symbol()
chart.render_notebook()

代码解释

  • 首先,导入 PictorialBar 类和 options 模块。
  • 创建 PictorialBar 实例 pictorialbar
  • 定义 x_datay_data 作为数据。
  • 使用 add_xaxis 方法添加 x 轴数据。
  • add_yaxis 方法中,设置 symbol 参数为 circle,将图形自定义为圆形,同时设置 symbol_size 为 20,symbol_repeatfixed 表示图形的重复方式,symbol_offset[0, 0] 表示图形的偏移量。
  • 使用 set_global_opts 方法隐藏 x 轴和 y 轴,并设置图表标题。

通过上述代码,你可以看到一个使用自定义圆形作为图形的象形图,通过改变 symbol 参数的值,可以使用不同的形状,如 trianglerect 等,还可以使用自定义的 SVG 路径来表示更复杂的图形,使数据展示更加形象生动。

二、水球图自定义形状

水球图通常用于表示百分比数据,以直观的方式展示完成度或占比,并且可以自定义其形状。以下是 liquid_with_custom_shape() 函数的代码示例,展示如何自定义水球图的形状:

python">from pyecharts.charts import Liquid
from pyecharts import options as optsdef liquid_with_custom_shape():liquid = Liquid()liquid.add("",[0.6],  # 表示 60% 的数据shape='diamond',  # 自定义形状为菱形label_opts=opts.LabelOpts(font_size=50,position="inside"))liquid.set_global_opts(title_opts=opts.TitleOpts(title="水球图自定义形状"))return liquidchart = liquid_with_custom_shape()
chart.render_notebook()

代码解释

  • 导入 Liquid 类和 options 模块。
  • 创建 Liquid 实例 liquid
  • 使用 add 方法添加数据,这里是 [0.6] 表示 60% 的数据。
  • 设置 shape 参数为 diamond,将水球图的形状自定义为菱形。
  • 通过 label_opts 设置标签的字体大小和位置。

这种自定义形状的水球图在展示完成度、占比等数据时,可以根据不同的主题或需求,选择不同的形状,为数据展示带来更多的创意和趣味,让数据更加引人注目。

三、日历图定制

日历图可以按日期展示数据,适用于具有时间序列的数据展示,并且可以进行深度定制,包括定制单元格和显示中文标签。以下是 calendar_custom_cell()calendar_in_Chinese() 函数的示例代码:

python">from pyecharts.charts import Calendar
from pyecharts import options as opts
import datetimedef calendar_custom_cell():data = [[str(datetime.date(2024, i, j), random.randint(10, 100)]for i in range(1, 13)for j in range(1, 29)]calendar = Calendar()calendar.add("",data,calendar_opts=opts.CalendarOpts(range_=["2024-01-01", "2024-12-31"],daylabel_opts=opts.CalendarDayLabelOpts(name_map="en"),monthlabel_opts=opts.CalendarMonthLabelOpts(name_map="en")))calendar.set_global_opts(title_opts=opts.TitleOpts(title="日历图定制"),visualmap_opts=opts.VisualMapOpts(max_=100,min_=10,orient="horizontal",pos_top="230px",pos_left="100px",is_piecewise=False))return calendarchart = calendar_custom_cell()
chart.render_notebook()

代码解释

  • 导入 Calendar 类、options 模块和 datetime 模块。
  • 生成一些随机数据 data,数据格式为 [(日期, 值)]
  • 创建 Calendar 实例 calendar
  • 使用 add 方法添加数据,并使用 calendar_opts 配置日历的范围、日标签和月标签。
  • 使用 set_global_opts 方法添加标题和视觉映射组件,用于表示数据的范围。

四、总结

通过使用上述特殊图表及其定制方法,我们可以突破传统图表的限制,为数据可视化带来更多的创意和独特性。在实际应用中,你可以根据数据的特点和展示需求,灵活选择合适的特殊图表,并对其进行深度定制,为用户带来更加丰富和吸引人的数据可视化体验。以上就是关于特殊图表的独特展示的内容,通过这些示例,你可以更加深入地理解如何使用 Pyecharts 创建出具有独特效果的可视化图表,并且学会根据实际情况定制这些图表,为你的数据讲述更精彩的故事。


http://www.ppmy.cn/news/1568178.html

相关文章

【漫话机器学习系列】061.线性回归参数计算(Finding Linear Regression Parameters)

线性回归参数计算(Finding Linear Regression Parameters) 1. 简介 线性回归是一种基础的回归模型,用于通过一个或多个特征预测目标变量。其模型形式为: 其中: y:目标变量(因变量&#xff09…

tcp/ip协议通俗理解,tcpip协议通俗理解

TCP/IP协议(Transmission Control Protocol/Internet Protocol)的通俗理解可以从以下几个方面入手: 1. 互联网的语言 想象一下,全球有无数台电脑、手机、服务器等设备连接在一起,形成了一个庞大的网络,我…

HTML DOM 对象

HTML DOM 对象 引言 HTML DOM(文档对象模型)是现代网页开发的核心技术之一。DOM 将 HTML 或 XML 文档结构化,使其成为可编程的对象。通过 DOM,开发者可以轻松地操作网页内容、样式和结构。本文将详细介绍 HTML DOM 对象的相关知识,包括其概念、结构、操作方法以及在实际…

solidity基础 -- 可视范围

在 Solidity 编程语言中,可视范围(Visibility)用于控制合约中变量和函数的访问权限。这对于确保合约的安全性、模块化以及代码的可维护性至关重要。Solidity 提供了四种可视范围修饰符:public、private、external 和 internal。以…

万字长文总结前端开发知识---JavaScriptVue3Axios

JavaScript学习目录 一、JavaScript1. 引入方式1.1 内部脚本 (Inline Script)1.2 外部脚本 (External Script) 2. 基础语法2.1 声明变量2.2 声明常量2.3 输出信息 3. 数据类型3.1 基本数据类型3.2 模板字符串 4. 函数4.1 具名函数 (Named Function)4.2 匿名函数 (Anonymous Fun…

全面评测 DOCA 开发环境下的 DPU:性能表现、机器学习与金融高频交易下的计算能力分析

本文介绍了我在 DOCA 开发环境下对 DPU 进行测评和计算能力测试的一些真实体验和记录。在测评过程中,我主要关注了 DPU 在高并发数据传输和深度学习场景下的表现,以及基本的系统性能指标,包括 CPU 计算、内存带宽、多线程/多进程能力和 I/O 性…

六、深入了解DI

依赖注入是⼀个过程,是指IoC容器在创建Bean时,去提供运⾏时所依赖的资源,⽽资源指的就是对象. 在上⾯程序案例中,我们使⽤了 Autowired 这个注解,完成了依赖注⼊的操作. 简单来说,就是把对象取出来放到某个类的属性中。 关于依赖注…

第 10 课 Python 内置函数 (增补)

1.enumerate enumerate() 接受一个可迭代对象作为输入,并返回一个枚举对象这个枚举对象包含了原始可迭代对象中的每个元素以及对应的索引它允许在循环中同时获取索引和值,这对于需要索引的情况非常方便 作用:在循环中需要同时访问索引和值时非…