- 博客(81)
- 收藏
- 关注
原创 使用Milvus搭配Ollama搭建RAG知识库
System.out.println("订单技能已挂载,当前租户:" + prompt.attr("tenant_id"));然而,在以 Solon AI 为代表的现代应用开发框架中,AI Skills 已演化为一种更高维度的封装,用于智能体应用开发。异构生态: 不同语言、不同算力环境下的能力,都可以通过统一的 MCP 接口连接,形成一个真正的“智能体微服务网络”。安全边界: 敏感数据处理技能可以部署在专用的、受保护的内网环境中,仅通过受控的 MCP 协议与公网 Agent 通信。
2026-05-13 12:04:05
35
原创 MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁等(完结)
OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务,其中视觉问答(VQA)是最常用的功能之一——输入一张图片和一个英文问题(该模型仅支持英文),模型就能输出对应的答案(比如输入“瓶子”图片+问题“What is the main subject?ModelScope 加载 OFA 模型时,会自动检查依赖版本,如果发现版本和它硬编码的要求不一致,会直接卸载你的版本并强制安装指定版本——哪怕你已经安装了正确的版本,也会被覆盖,导致之前的努力白费。
2026-05-13 11:56:48
112
原创 告别阻塞!用 PHP TrueAsync 实现 PHP 脚本提速 倍
今天,我们就来聊聊为什么选择它,以及它是如何让我们的开发体验"起飞"的。用过 Python 写构建脚本的朋友肯定遇到过这种尴尬:脚本跑了五分钟,最后报错说 Confi.guration 拼写错了,或者传了一个字符串给了一个本该是数字的参数。当然,这不是绝对的。比如如果你只想跑个测试,不想打包,Nuke 允许你直接执行 nuke Test,它会自动处理好前置的 Restore 和 Compile 步骤。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。
2026-05-13 11:49:42
64
原创 t表格入门(优化篇)
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-13 11:42:53
207
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
/ 配置静态资源路径。当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类,springboot会自动配置MyBatis相关的bean)。这些注解通常用在自动配置类上,以确保只有在特定条件满足时才会应用相应的配置。
2026-05-13 11:35:05
59
原创 使用Milvus搭配Ollama搭建RAG知识库
对于支持事务的 Sink(如文件系统、Iceberg),需要一个全局的 Committer 来在 Checkpoint 完成时统一提交事务(二阶段提交),从而实现 Exactly-Once(精确一次)语义。支持列表: MySQL-CDC, PostgreSQL-CDC, Oracle-CDC, MongoDB-CDC, SQLServer-CDC, TiDB-CDC 等。无状态转换:大多数 Transform(如 Sql, Filter, Replace)是无状态的,即处理当前行不需要依赖其他行的数据。
2026-05-12 17:12:10
288
原创 MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁等(完结)
将 Excel 转换为 TXT 不仅是格式的简单转换,更是实现数据自动化流程的重要环节。数据清洗与预处理: 将复杂格式的 Excel 数据转换为 TXT,作为其他数据分析工具(如Spark、Hadoop)的输入源,进行更深层次的处理。配置管理: 将 Excel 中维护的系统配置、参数表等导出为 TXT 格式,便于脚本直接读取,同时更适合使用 Git 等工具进行版本管理。自动化报告生成: 从 Excel 模板中提取数据,生成纯文本格式的报告摘要,方便邮件发送或系统集成。# 将工作表内容保存为TXT文件。
2026-05-12 17:05:15
185
原创 告别阻塞!用 PHP TrueAsync 实现 PHP 脚本提速 倍
服务员(事件循环)负责接待顾客(请求),如果某位顾客点菜后需要等厨房做菜(I/O等待),服务员不会傻等,而是先去接待其他顾客。它的核心是“非阻塞”:当一个请求在等待I/O(比如查数据库、调外部API)时,事件循环(Event Loop)会去处理其他请求,而不是干等着。这意味着,如果你的async函数里干的是CPU密集型的活儿(比如复杂的计算、图像处理),那它依然会阻塞整个事件循环,其他请求照样排队。简单总结:I/O密集型用async,CPU密集型用多线程/多进程,混合型任务两者结合。
2026-05-12 17:00:01
170
原创 t表格入门(优化篇)
System.out.println("订单技能已挂载,当前租户:" + prompt.attr("tenant_id"));然而,在以 Solon AI 为代表的现代应用开发框架中,AI Skills 已演化为一种更高维度的封装,用于智能体应用开发。异构生态: 不同语言、不同算力环境下的能力,都可以通过统一的 MCP 接口连接,形成一个真正的“智能体微服务网络”。安全边界: 敏感数据处理技能可以部署在专用的、受保护的内网环境中,仅通过受控的 MCP 协议与公网 Agent 通信。
2026-05-12 16:53:08
188
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-12 16:46:28
196
原创 使用Milvus搭配Ollama搭建RAG知识库
System.out.println("订单技能已挂载,当前租户:" + prompt.attr("tenant_id"));然而,在以 Solon AI 为代表的现代应用开发框架中,AI Skills 已演化为一种更高维度的封装,用于智能体应用开发。异构生态: 不同语言、不同算力环境下的能力,都可以通过统一的 MCP 接口连接,形成一个真正的“智能体微服务网络”。安全边界: 敏感数据处理技能可以部署在专用的、受保护的内网环境中,仅通过受控的 MCP 协议与公网 Agent 通信。
2026-05-11 15:08:36
222
原创 MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁等(完结)
OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务,其中视觉问答(VQA)是最常用的功能之一——输入一张图片和一个英文问题(该模型仅支持英文),模型就能输出对应的答案(比如输入“瓶子”图片+问题“What is the main subject?ModelScope 加载 OFA 模型时,会自动检查依赖版本,如果发现版本和它硬编码的要求不一致,会直接卸载你的版本并强制安装指定版本——哪怕你已经安装了正确的版本,也会被覆盖,导致之前的努力白费。
2026-05-11 15:00:38
279
原创 告别阻塞!用 PHP TrueAsync 实现 PHP 脚本提速 倍
今天,我们就来聊聊为什么选择它,以及它是如何让我们的开发体验"起飞"的。用过 Python 写构建脚本的朋友肯定遇到过这种尴尬:脚本跑了五分钟,最后报错说 Confi.guration 拼写错了,或者传了一个字符串给了一个本该是数字的参数。当然,这不是绝对的。比如如果你只想跑个测试,不想打包,Nuke 允许你直接执行 nuke Test,它会自动处理好前置的 Restore 和 Compile 步骤。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。
2026-05-11 14:53:46
212
原创 t表格入门(优化篇)
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-11 14:46:42
213
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
/ 配置静态资源路径。当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类,springboot会自动配置MyBatis相关的bean)。这些注解通常用在自动配置类上,以确保只有在特定条件满足时才会应用相应的配置。
2026-05-11 14:38:16
153
原创 使用Milvus搭配Ollama搭建RAG知识库
最初,Skills 被视为“工具级”的增强,如简单的文件读写或终端操作,方便用户快速实现各种操作。请只处理该租户下的订单数据,禁止跨租户查询。然而,在以 Solon AI 为代表的现代应用开发框架中,AI Skills 已演化为一种更高维度的封装,用于智能体应用开发。异构生态: 不同语言、不同算力环境下的能力,都可以通过统一的 MCP 接口连接,形成一个真正的“智能体微服务网络”。安全边界: 敏感数据处理技能可以部署在专用的、受保护的内网环境中,仅通过受控的 MCP 协议与公网 Agent 通信。
2026-05-10 12:09:15
176
原创 MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁等(完结)
OFA(One For All)是字节跳动提出的多模态预训练模型,支持视觉问答、图像描述、图像编辑等多种任务,其中视觉问答(VQA)是最常用的功能之一——输入一张图片和一个英文问题(该模型仅支持英文),模型就能输出对应的答案(比如输入“瓶子”图片+问题“What is the main subject?ModelScope 加载 OFA 模型时,会自动检查依赖版本,如果发现版本和它硬编码的要求不一致,会直接卸载你的版本并强制安装指定版本——哪怕你已经安装了正确的版本,也会被覆盖,导致之前的努力白费。
2026-05-10 12:02:17
208
原创 告别阻塞!用 PHP TrueAsync 实现 PHP 脚本提速 倍
今天,我们就来聊聊为什么选择它,以及它是如何让我们的开发体验"起飞"的。用过 Python 写构建脚本的朋友肯定遇到过这种尴尬:脚本跑了五分钟,最后报错说 Confi.guration 拼写错了,或者传了一个字符串给了一个本该是数字的参数。当然,这不是绝对的。比如如果你只想跑个测试,不想打包,Nuke 允许你直接执行 nuke Test,它会自动处理好前置的 Restore 和 Compile 步骤。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。
2026-05-10 11:53:34
205
原创 t表格入门(优化篇)
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-10 11:44:43
156
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
/ 配置静态资源路径。当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类,springboot会自动配置MyBatis相关的bean)。这些注解通常用在自动配置类上,以确保只有在特定条件满足时才会应用相应的配置。
2026-05-10 11:35:50
172
原创 使用Milvus搭配Ollama搭建RAG知识库
对于支持事务的 Sink(如文件系统、Iceberg),需要一个全局的 Committer 来在 Checkpoint 完成时统一提交事务(二阶段提交),从而实现 Exactly-Once(精确一次)语义。支持列表: MySQL-CDC, PostgreSQL-CDC, Oracle-CDC, MongoDB-CDC, SQLServer-CDC, TiDB-CDC 等。无状态转换:大多数 Transform(如 Sql, Filter, Replace)是无状态的,即处理当前行不需要依赖其他行的数据。
2026-05-09 19:54:41
171
原创 MyBatis-plus拓展之字段类型处理器、自动填充和乐观锁等(完结)
将 Excel 转换为 TXT 不仅是格式的简单转换,更是实现数据自动化流程的重要环节。数据清洗与预处理: 将复杂格式的 Excel 数据转换为 TXT,作为其他数据分析工具(如Spark、Hadoop)的输入源,进行更深层次的处理。配置管理: 将 Excel 中维护的系统配置、参数表等导出为 TXT 格式,便于脚本直接读取,同时更适合使用 Git 等工具进行版本管理。自动化报告生成: 从 Excel 模板中提取数据,生成纯文本格式的报告摘要,方便邮件发送或系统集成。# 将工作表内容保存为TXT文件。
2026-05-09 19:44:41
130
原创 告别阻塞!用 PHP TrueAsync 实现 PHP 脚本提速 倍
服务员(事件循环)负责接待顾客(请求),如果某位顾客点菜后需要等厨房做菜(I/O等待),服务员不会傻等,而是先去接待其他顾客。它的核心是“非阻塞”:当一个请求在等待I/O(比如查数据库、调外部API)时,事件循环(Event Loop)会去处理其他请求,而不是干等着。这意味着,如果你的async函数里干的是CPU密集型的活儿(比如复杂的计算、图像处理),那它依然会阻塞整个事件循环,其他请求照样排队。简单总结:I/O密集型用async,CPU密集型用多线程/多进程,混合型任务两者结合。
2026-05-09 19:35:20
137
原创 t表格入门(优化篇)
System.out.println("订单技能已挂载,当前租户:" + prompt.attr("tenant_id"));然而,在以 Solon AI 为代表的现代应用开发框架中,AI Skills 已演化为一种更高维度的封装,用于智能体应用开发。异构生态: 不同语言、不同算力环境下的能力,都可以通过统一的 MCP 接口连接,形成一个真正的“智能体微服务网络”。安全边界: 敏感数据处理技能可以部署在专用的、受保护的内网环境中,仅通过受控的 MCP 协议与公网 Agent 通信。
2026-05-09 19:29:16
231
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-09 19:21:26
148
原创 [大模型实战 额外篇] 从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体
未来几周,市场将向第三方开发者开放,届时开发者可以在 nativephp.com 上架自己的插件,甚至可以销售自己开发的插件。只需运行 native:jump Artisan 命令,打开手机上的 Jump 应用扫描二维码,Laravel 应用就会直接加载到设备上,连接到本地开发服务器。Jump 是一个安装在手机上的应用(支持 Android 和 iOS),可以在真机上测试 NativePHP 应用,无需编译任何东西,也不需要开启开发者模式。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。
2026-05-08 21:49:45
158
原创 G DWDM/OTN系统DCM色散补偿
注意:templateName、createAsContainerDatabase必須指定。修改db_install.rsp文件中以下内容。12.1.编辑dbca.rsp安装文件。1.7.关闭防火墙还有selinux。10.2.静默安装Oracle软件。1.6.解析/etc/hosts。6./etc/profile配置。10.静默安装Oracle数据库。查看是否安装有Oracle软件。4.配置Oracle的环境变量。以下在root用户下操作。oracle用户下操作。oracle用户下操作。
2026-05-08 21:41:04
265
原创 Spring with AI (): 评估答案——UnitTest引入
这种“思考 → 执行 → 反馈 → 再思考”的循环机制,让复杂问题被自然拆解成一连串可验证的小步骤,也让错误变成系统的一部分,而不是失败的终点。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理,能够在用户的机器上安全高效地生成高质量的软件变更。这就是 unrolling the loop 的含义:把模型原本“在脑子里一次性完成的思考”,拆成一轮一轮、可执行、可观察的步骤。把“刚刚发生的现实结果”,翻译成模型能理解的文字,再塞回 Prompt。
2026-05-08 21:31:49
316
原创 victor.x.u
服务员(事件循环)负责接待顾客(请求),如果某位顾客点菜后需要等厨房做菜(I/O等待),服务员不会傻等,而是先去接待其他顾客。它的核心是“非阻塞”:当一个请求在等待I/O(比如查数据库、调外部API)时,事件循环(Event Loop)会去处理其他请求,而不是干等着。这意味着,如果你的async函数里干的是CPU密集型的活儿(比如复杂的计算、图像处理),那它依然会阻塞整个事件循环,其他请求照样排队。简单总结:I/O密集型用async,CPU密集型用多线程/多进程,混合型任务两者结合。
2026-05-08 21:22:58
225
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
/ 配置静态资源路径。当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类,springboot会自动配置MyBatis相关的bean)。这些注解通常用在自动配置类上,以确保只有在特定条件满足时才会应用相应的配置。
2026-05-08 21:13:47
176
原创 [大模型实战 额外篇] 从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体
未来几周,市场将向第三方开发者开放,届时开发者可以在 nativephp.com 上架自己的插件,甚至可以销售自己开发的插件。只需运行 native:jump Artisan 命令,打开手机上的 Jump 应用扫描二维码,Laravel 应用就会直接加载到设备上,连接到本地开发服务器。Jump 是一个安装在手机上的应用(支持 Android 和 iOS),可以在真机上测试 NativePHP 应用,无需编译任何东西,也不需要开启开发者模式。此前版本中集成在核心包里的原生功能,现在被拆分成独立的插件。
2026-05-07 18:04:41
146
原创 G DWDM/OTN系统DCM色散补偿
注意:templateName、createAsContainerDatabase必須指定。修改db_install.rsp文件中以下内容。12.1.编辑dbca.rsp安装文件。1.7.关闭防火墙还有selinux。10.2.静默安装Oracle软件。1.6.解析/etc/hosts。6./etc/profile配置。10.静默安装Oracle数据库。查看是否安装有Oracle软件。4.配置Oracle的环境变量。以下在root用户下操作。oracle用户下操作。oracle用户下操作。
2026-05-07 17:57:22
151
原创 Spring with AI (): 评估答案——UnitTest引入
这种“思考 → 执行 → 反馈 → 再思考”的循环机制,让复杂问题被自然拆解成一连串可验证的小步骤,也让错误变成系统的一部分,而不是失败的终点。OpenAI的Codex CLI就是这一趋势的典型代表——一个跨平台的本地软件代理,能够在用户的机器上安全高效地生成高质量的软件变更。这就是 unrolling the loop 的含义:把模型原本“在脑子里一次性完成的思考”,拆成一轮一轮、可执行、可观察的步骤。把“刚刚发生的现实结果”,翻译成模型能理解的文字,再塞回 Prompt。
2026-05-07 17:49:58
183
原创 如何用c# 做 mcp/ChatGPT app
print(f"机器码 (Hex): {''.join(f'{x:02x}' for x in encoding)}")print(f"解密后的文本: {decrypted_text.decode()}")access:当前访问类型:UC_MEM_READ,UC_MEM_WRITE......第一个参数:捕获模式,规定什么时候触发hook,例如:读取内存,中断捕获......第二个参数:选择模式,例如:64位,32位,小端序......第二个参数:选择模式,例如:64位,32位,小端序......
2026-05-07 17:40:51
200
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
/ 配置静态资源路径。当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类,springboot会自动配置MyBatis相关的bean)。这些注解通常用在自动配置类上,以确保只有在特定条件满足时才会应用相应的配置。
2026-05-07 17:32:11
231
原创 [大模型实战 额外篇] 从 ReAct 到 Workflow:基于云端 API 构建事件驱动的智能体
2.使用c命名空间注入属性,语法:c:属性名="属性值" c:属性名-ref="引用类型属性值"</p>// 获取spring容器中的对象。2.使用p命名空间注入属性,语法:p:属性名="属性值" p:属性名-ref="引用类型属性值"--><p> 如果key是简单类型,可以直接使用entry标签的key属性赋值
2026-05-06 22:51:49
165
原创 G DWDM/OTN系统DCM色散补偿
针对业界关于 Microsoft Agent Framework 与 Semantic Kernel 关系的疑虑,目前的证据和官方陈述提供了一个清晰的结论:Microsoft Agent Framework 是 Semantic Kernel 在 AI 代理构建领域的官方继任者,其本质上应被视为 Semantic Kernel 的 2.0 版本或代理核心的深度重构版。这种解耦极大地增强了系统的灵活性,使得同一个代理可以在不同的企业环境中快速切换其可调用的资源。对于决定迁移的开发团队,建议采用渐进式的策略。
2026-05-06 22:46:29
129
原创 如何用c# 做 mcp/ChatGPT app
Workflows (项目级):存储在项目根目录的 .agent/workflows 中。Skills (全局库):实际的代码、脚本和指南,存储在系统级目录(如 ~/.gemini/antigravity/skills)。# 此时目录结构应为 ~/.gemini/antigravity/skills/ui-ux-pro-max-skill/...# 此时目录结构应为 ~/.gemini/antigravity/skills/skills/...节省空间:不需要在每个项目中重复下载几百 MB 的技能文件。
2026-05-06 22:34:02
221
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-06 22:27:19
184
原创 从零入门性能测试:理论+JMETER实操,看完就能上手
当数据值超过一层时,就用更深的颜色或不同的颜色填充。流图通过中心布局,减少了这种扭曲,非常适合展示随时间变化的趋势和不同类别权重的波动,这种有机的形态还能给读者带来极强的审美愉悦感。如果把传统的堆叠面积图想象成一块块整齐堆叠的积木,那么流图就像一条蜿蜒流淌的河流,河道的宽窄变化自然流畅,波峰波谷过渡平滑。流图解决了一个视觉错觉问题:在普通堆叠面积图中,上面的数据层会因为下面数据层的起伏而被迫“扭曲”,很难看出它原本的形状。# ============ 地平线图:股价波动对比 ============
2026-05-06 22:20:40
165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅