Python的Matplotlib
介绍:
Matplotlib 是一个非常强大的 Python 绘图库,支持多种不同类型的图表。以下是 Matplotlib 支持的一些常见图表类型:
前情提要:
from matplotlib import rcParams# 设置支持中文的字体 rcParams['font.sans-serif'] = ['SimHei'] # 设置中文字体为黑体 rcParams['axes.unicode_minus'] = False # 正常显示负号
如果你要使用中文中必不可少
类型:
2D 图表
-
折线图 (Line Plot)
-
显示数据点之间的连接线,适合展示趋势。
-
import matplotlib.pyplot as plt# 数据:x 轴和 y 轴 x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25]# 绘制折线图 plt.plot(x, y)# 添加标题和标签 plt.title("简单的折线图") plt.xlabel("x 轴") plt.ylabel("y 轴")# 显示图形 plt.show() -
代码解析
-
数据准备:
x和y分别是 x 轴和 y 轴的数据。x轴可以是时间、序列等,y轴是对应的数值。 -
绘制折线图:
plt.plot(x, y)用于绘制折线图。x和y为输入的数据点。 -
添加标题和标签:
plt.title("简单的折线图"):设置图表标题。plt.xlabel("x 轴"):设置 x 轴的标签。plt.ylabel("y 轴"):设置 y 轴的标签。
-
显示图形:
plt.show()用于显示绘制的图形。
-
-
自定义折线图
-
多条折线图:可以同时绘制多条折线图,用不同的颜色区分。
-
y2 = [25, 20, 15, 10, 5]
plt.plot(x, y, label="线条 1")
plt.plot(x, y2, label="线条 2", linestyle='--')
plt.legend() # 添加图例
-
-
标记数据点:在折线图上显示每个数据点的位置。
-
plt.plot(x, y, marker='o') # 在数据点上加上圆圈标记
-
-
线条样式:你可以修改线条的样式,例如虚线、点线、颜色等。
-
plt.plot(x, y, linestyle='--', color='r') # 红色虚线
-
-
-
-
散点图 (Scatter Plot)
-
用点表示数据,适合展示两变量之间的关系。
-
import matplotlib.pyplot as plt# 数据:x 轴和 y 轴 x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25]# 绘制散点图 plt.scatter(x, y)# 添加标题和标签 plt.title("简单的散点图") plt.xlabel("x 轴") plt.ylabel("y 轴")# 显示图形 plt.show() -
代码解析
-
数据准备:
x和y是两个变量的值,分别对应散点图中的 x 轴和 y 轴。 -
绘制散点图:使用
plt.scatter(x, y)来绘制散点图。与折线图不同,散点图没有连接线,而是通过独立的点来表示数据。 -
添加标题和标签:
plt.title("简单的散点图"):设置图表标题。plt.xlabel("x 轴"):设置 x 轴的标签。plt.ylabel("y 轴"):设置 y 轴的标签。
-
显示图形:
plt.show()用于显示图形。
-
-
自定义散点图
- 改变点的大小和颜色:
s用于控制点的大小。c用于控制点的颜色。- plt.scatter(x, y, s=100, c='r') # 红色且较大的点
- 使用不同的标记样式:
marker参数允许选择不同的标记类型(如圆圈、星号等)。- plt.scatter(x, y, marker='*') # 星号标记
- 绘制多个系列:如果你有多个数据集,可以在同一张图上绘制多个散点图。
- y2 = [25, 20, 15, 10, 5]
plt.scatter(x, y, label="系列 1", c='b') # 蓝色点
plt.scatter(x, y2, label="系列 2", c='g') # 绿色点
plt.legend() # 添加图例
- y2 = [25, 20, 15, 10, 5]
- 改变点的大小和颜色:
-
-
条形图 (Bar Plot)
-
使用条形表示数据,适合展示类别数据。
-
import matplotlib.pyplot as plt# 数据 categories = ['苹果', '香蕉', '橙子', '葡萄', '梨'] values = [50, 30, 45, 20, 25]# 创建条形图 plt.bar(categories, values)# 添加标题和标签 plt.title("水果数量") plt.xlabel("水果") plt.ylabel("数量")# 显示图形 plt.show() -
代码解析:
plt.bar(categories, values):绘制条形图,其中categories是条形图的类别,values是每个类别对应的值。plt.title("水果数量"):为图表添加标题。plt.xlabel("水果")和plt.ylabel("数量"):为x轴和y轴添加标签。plt.show():显示图形。
-
水平条形图
除了竖直的条形图,还可以绘制水平条形图,使用
plt.barh()。-
import matplotlib.pyplot as plt import numpy as np# 数据 categories = ['苹果', '香蕉', '橙子', '葡萄', '梨'] values1 = [10, 20, 15, 25, 30] values2 = [40, 10, 30, 20, 25]# 创建堆叠条形图 plt.barh(categories, values1, label='类型1') plt.barh(categories, values2, bottom=values1, label='类型2')# 添加标题和标签 plt.title("堆叠条形图") plt.xlabel("水果") plt.ylabel("数量") plt.legend()# 显示图形 plt.show()
-
-
堆叠条形图
如果你有多个数据系列,并且想要在同一类别中显示多个堆叠的条形,可以使用堆叠条形图。堆叠条形图将每个类别的条形分成几个部分,表示不同的数据系列。
-
import matplotlib.pyplot as plt import numpy as np# 数据 categories = ['苹果', '香蕉', '橙子', '葡萄', '梨'] values1 = [10, 20, 15, 25, 30] values2 = [40, 10, 30, 20, 25]# 创建堆叠条形图 plt.bar(categories, values1, label='类型1') plt.bar(categories, values2, bottom=values1, label='类型2')# 添加标题和标签 plt.title("堆叠条形图") plt.xlabel("水果") plt.ylabel("数量") plt.legend()# 显示图形 plt.show() -
代码解析:
plt.bar(categories, values1)和plt.bar(categories, values2, bottom=values1):这两行代码绘制堆叠条形图,其中第二个bar()函数通过bottom参数指定了堆叠的底部。plt.legend():为堆叠条形图添加图例。
-
-
-
直方图 (Histogram)
-
用于展示数据的频率分布,常用于描述单一变量。
-
import matplotlib.pyplot as plt # 生成随机数据 data = np.random.randn(1000)# 绘制直方图 plt.hist(data, bins=30, edgecolor='black') # bins: 划分区间的数量# 添加标题和标签 plt.title("随机数据的直方图") plt.xlabel("值") plt.ylabel("频率")# 显示图形 plt.show() -
代码解析:
np.random.randn(1000):生成1000个服从标准正态分布(均值为0,标准差为1)的随机数。plt.hist(data, bins=30, edgecolor='black'):绘制直方图,bins=30表示将数据划分成30个区间,edgecolor='black'为每个条形的边缘设置颜色。plt.title("随机数据的直方图"):为图表添加标题。plt.xlabel("值")和plt.ylabel("频率"):为x轴和y轴添加标签。
-
参数解析:
data:输入的数据集,可以是任何一维数据(例如列表、数组等)。bins:指定将数据划分成多少个区间。通常,bins的值越大,直方图越精细;越小,直方图越粗糙。也可以传入一个区间边界的数组来自定义每个桶的范围。edgecolor:条形的边缘颜色,通常用于让直方图的条形更加明显。
-
修改直方图的外观
-
改变颜色
- plt.hist(data, bins=30, edgecolor='black', color='skyblue') # 设置条形的颜色
-
使用不同的间隔方式
bins参数可以接受不同类型的输入:- 整数:表示将数据划分为多少个区间。
- 序列:一个数组,表示区间的具体边界。
- bins = [-3, -2, -1, 0, 1, 2, 3]
plt.hist(data, bins=bins, edgecolor='black')
-
对数刻度
如果数据的范围非常广,可以使用对数刻度来调整y轴显示:
-
plt.hist(data, bins=30, edgecolor='black')
plt.yscale('log') # 设置y轴为对数刻度
-
-
-
多个数据集的直方图
-
import matplotlib.pyplot as plt import numpy as np# 生成两组随机数据 data1 = np.random.randn(1000) data2 = np.random.randn(1000)# 绘制两个数据集的直方图 plt.hist(data1, bins=30, alpha=0.5, label='数据集1') plt.hist(data2, bins=30, alpha=0.5, label='数据集2')# 添加标题、标签和图例 plt.title("两个数据集的直方图") plt.xlabel("值") plt.ylabel("频率") plt.legend()# 显示图形 plt.show() -
代码解析:
alpha=0.5:设置条形的透明度,使两个直方图能够重叠显示。plt.legend():显示图例,帮助区分不同数据集。
-
-
-
饼图 (Pie Chart)
-
用圆形图表示各部分占整体的比例。
-
import matplotlib.pyplot as plt# 数据 labels = ['A', 'B', 'C', 'D'] sizes = [15, 30, 45, 10] # 每个部分的数值 colors = ['#ff9999','#66b3ff','#99ff99','#ffcc99'] # 每个部分的颜色 explode = (0.1, 0, 0, 0) # 使第一块稍微突出显示# 绘制饼图 plt.pie(sizes, labels=labels, colors=colors, explode=explode, autopct='%1.1f%%', startangle=140)# 添加标题 plt.title('简单的饼图')# 显示图形 plt.show() -
代码解析:
labels:指定每个扇区的标签(如A、B、C、D)。sizes:指定每个扇区的数值(代表各部分占整体的比例)。colors:为每个扇区指定不同的颜色。explode:突出显示某些部分(例如,(0.1, 0, 0, 0)表示将第一个部分突出显示)。autopct='%1.1f%%':显示每个扇区的百分比,保留1位小数。startangle=140:设置饼图起始角度,默认是从0度开始。通过调整startangle可以旋转饼图,使其更美观。
-
饼图的常用参数:
labels:为每个扇区指定一个标签。sizes:每个扇区的数值或比例。colors:为每个扇区指定颜色。autopct:显示扇区的百分比。startangle:设置饼图的起始角度,默认为0,调整它可以改变饼图的起始显示方向。explode:通过偏移某些扇区来突出显示,值越大,扇区偏移越远。
-
饼图的更多自定义:
-
调整扇区标签的字体:
-
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140, textprops={'fontsize': 12})
-
-
设置阴影效果:
-
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140, shadow=True)
-
-
设置饼图的圆形比例: 默认情况下,
plt.pie()会绘制一个椭圆形的饼图,如果你希望它呈现圆形,可以设置axis为equal:-
plt.axis('equal') # 保证饼图是圆形的
-
-
-
展示多个饼图:
如果你有多个饼图数据,可以在同一张图中绘制多个饼图,使用
subplot()进行布局。例如:-
fig, axs = plt.subplots(1, 2, figsize=(10, 5))# 第一个饼图 axs[0].pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140) axs[0].set_title('饼图1')# 第二个饼图 axs[1].pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90) axs[1].set_title('饼图2')# 显示图形 plt.show()
-
-
-
面积图 (Area Plot)
-
类似于折线图,但下方区域被填充,适合展示趋势及组成。
-
import matplotlib.pyplot as plt# 数据 x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25]# 绘制面积图 plt.fill_between(x, y, color="skyblue", alpha=0.4)# 添加标题和标签 plt.title("简单的面积图") plt.xlabel("x") plt.ylabel("y")# 显示图形 plt.show() -
代码解析:
plt.fill_between(x, y, color="skyblue", alpha=0.4):fill_between()函数用来绘制面积图,x和y定义了数据点,color设置填充颜色,alpha控制填充的透明度。plt.title():设置图表的标题。plt.xlabel()和plt.ylabel():设置x轴和y轴的标签。
-
堆叠面积图:多个系列
堆叠面积图不仅展示每个系列的数据,还可以看到每个部分如何累积在一起。适合展示多个部分对整体趋势的贡献。
-
import matplotlib.pyplot as plt# 数据 x = [1, 2, 3, 4, 5] y1 = [1, 2, 3, 4, 5] y2 = [1, 3, 5, 7, 9]# 绘制堆叠面积图 plt.stackplot(x, y1, y2, labels=["y1", "y2"], alpha=0.5)# 添加标题和标签 plt.title("堆叠面积图") plt.xlabel("x") plt.ylabel("y") plt.legend(loc="upper left")# 显示图形 plt.show() -
代码解析:
plt.stackplot(x, y1, y2, labels=["y1", "y2"], alpha=0.5):stackplot()函数用来绘制堆叠面积图,可以传入多个系列数据(如y1和y2),通过堆叠的方式显示它们的变化。labels:为每个系列指定标签。alpha=0.5:设置填充透明度。
-
面积图的常用参数:
color:设置填充颜色。alpha:设置透明度,范围为0到1,值越小,透明度越高。labels:用于堆叠图时,为每个部分提供标签。linewidth:设置线条的宽度。linestyle:设置线条的样式。
-
-
-
箱型图 (Box Plot)
-
用于展示数据的分布情况,显示中位数、四分位数和异常值。
-
-
热图 (Heatmap)
-
使用颜色表示数据的强度,适合展示矩阵或二维数据。
-
-
雷达图 (Radar Chart)
-
显示多变量的关系,适合展示具有多个维度的数据。
-
-
阶梯图 (Step Plot)
-
线段之间为水平,适合展示步骤变化的数据。
-
-
堆积图 (Stacked Plot)
-
类似于面积图,但多个数据系列叠加在一起,展示部分与整体的关系。
-
-
双坐标轴图 (Dual Axis Plot)
-
使用两个 y 轴显示不同量纲的数据,适合比较不同数据源。
-
-
条形图 (Horizontal Bar Plot)
-
条形图的水平版,适合数据分类较多时显示。
-
-
矩形树图 (Tree Map)
-
用矩形区域表示层级数据,面积大小与数据值相关。
-
-
渐变图 (Gradient Plot)
-
展示颜色从一个色带到另一个色带的渐变,适用于表示数据的变化。
-
-
时间序列图 (Time Series Plot)
-
用于显示随时间变化的数据,通常用于金融、经济数据的可视化。
-
-
分布图 (Distribution Plot)
-
显示数据的概率分布,通常用于展示数据的密度。
-
3D 图表
-
3D 散点图 (3D Scatter Plot)
-
展示三维空间中的数据点,适合分析三维数据的分布。
-
-
3D 曲面图 (3D Surface Plot)
-
用于展示三维数据的表面,适合分析三维数据之间的关系。
-
-
3D 等高线图 (3D Contour Plot)
-
显示三维数据的等高线,适合分析高度、温度等变化情况。
-
-
3D 栅格图 (3D Wireframe Plot)
-
显示三维数据的网格线,适合展示函数图形。
-
-
3D 线图 (3D Line Plot)
-
类似于 2D 折线图,但增加了三维的效果,适合展示三维数据的变化。
-
-
3D 直方图 (3D Histogram)
-
类似于 2D 直方图,但用于展示三维数据的分布。
-
总结:
Matplotlib 支持多种类型的图表,适用于不同的场景和需求,包括折线图、散点图、条形图、饼图、直方图、箱型图等。你可以根据数据的特点选择合适的图表类型来展示数据。需要注意的是,Matplotlib 的功能不仅仅限于这些基本图表,你还可以自定义很多其他图形、样式和特效。
相关文章:
Python的Matplotlib
介绍: Matplotlib 是一个非常强大的 Python 绘图库,支持多种不同类型的图表。以下是 Matplotlib 支持的一些常见图表类型: 前情提要: from matplotlib import rcParams# 设置支持中文的字体 rcParams[font.sans-serif] [SimHei…...
Python数据分析:分组转换transform方法
大家好,在数据分析中,需要对数据进行分组统计与计算,Pandas的groupby功能提供了强大的分组功能。transform方法是groupby中常用的转换方法之一,它允许在分组的基础上进行灵活的转换和计算,并将结果与原始数据保持相同的…...
高效灵活的Django URL配置与反向URL实现方案
高效灵活的Django URL配置与反向URL实现方案 目录 📑 1. 基本的Django URL配置及反向URL的实现 🔧 2. 使用path()替代re_path()配置URL的优势与劣势 🛠️ 3. 使用URL命名空间(namespace)提高URL管理的可维护性 &…...
深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践 引言 MySQL 是全球最受欢迎的开源关系型数据库之一,其高性能、灵活性和广泛的社区支持使其成为无数开发者的首选。然而,部署一台高效、稳定的 MySQL 实例并非易事。本文将结合一个实际…...
Java-Redisson分布式锁+自定义注解+AOP的方式来实现后台防止重复请求扩展
1. 添加依赖 首先,在项目的pom.xml文件中添加Redisson和Spring AOP的相关依赖: <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.16.8</version> </dependency> <dependency…...
Java 全栈知识体系
包含: Java 基础, Java 部分源码, JVM, Spring, Spring Boot, Spring Cloud, 数据库原理, MySQL, ElasticSearch, MongoDB, Docker, k8s, CI&CD, Linux, DevOps, 分布式, 中间件, 开发工具, Git, IDE, 源码阅读,读书笔记, 开源项目......
树状数组+概率论,ABC380G - Another Shuffle Window
目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 G - Another Shuffle Window 二、解题报告 1、思路分析 不难用树状数组计…...
机器学习day1-数据集
机器学习 一、机器学习 1.定义 让计算机在数据中学习规律并根据得到的规律对未来进行预测。 2.发展史 19世纪50年代:图灵测试提出、塞缪尔开发的西洋跳棋程序,标志着机器学习正式进入发展期 19世纪80年代:神经网络反向传播(…...
【Golang】——Gin 框架中的路由与请求处理
文章目录 1. 路由基础1.1 什么是路由?1.2 Gin 中的路由概述 2. 创建简单路由2.1 基本路由定义2.2 不同请求方法的路由 3. 路由参数3.1 路径参数3.2 查询参数 4. 路由分组4.1 为什么使用路由分组?4.2 路由分组示例 5. 请求处理与响应5.1 Gin 中的 Context…...
nuxt3添加wowjs动效
1、安装wowjs pnpm i wowjs1.1.32、node_modules复制wowjs代码 路径/node_modules/wowjs/dist/wow.js。不知道路径则查看node_modules/wowjs/package.json里面的main选项 2.1、在public文件夹创建wowjs.js文件 /public/wowjs.js export default (callthis) > { // !!// 这是…...
我们是如何实现 TiDB Cloud Serverless 的 - 成本篇
作者: shiyuhang0 原文来源: https://tidb.net/blog/fbedeea4 背景 Serverless 数据库是云原生时代的产物,它提供全托管,按需付费,自动弹性的云数据库服务,让客户免于繁重的数据库运维工作。关于 Serve…...
PCL算法汇总
参考 【2024最新版】PCL点云处理算法汇总(C长期更新版)_pcl点云聚类c-CSDN博客...
sql注入之二次注入(sqlilabs-less24)
二阶注入(Second-Order Injection)是一种特殊的 SQL 注入攻击,通常发生在用户输入的数据首先被存储在数据库中,然后在后续的操作中被使用时,触发了注入漏洞。与传统的 SQL 注入(直接注入)不同&a…...
Android compose 软键盘 遮挡对话框中TextField 输入框
在AlertDialog对话框中含有TextField输入框时,弹出软件盘会遮挡输入框 解决1: 在AndroidManifest.xml的 MainActivity中添加如下 android:windowSoftInputMode"adjustResize" 然后AlertDialog 中的modify. modify.windowInsetsP…...
spring-data-elasticsearch 3.2.4 实现桶bucket排序去重,实现指定字段的聚合搜索
一、背景 es索引有一个文档CourseIndex,下面是示意: creatorIdgradesubjectnameno1002270英语听力课程一N00232DS91004380数学口算课程N00209DK71003480物理竞赛课程N00642XS21002280英语听力课程二N00432WS31002290英语听力课程三N002312DP5 在搜索的时候&#…...
【项目开发】分析六种常用软件架构
未经许可,不得转载。 文章目录 软件架构核心内容设计原则分层架构常见层次划分优缺点应用场景事件驱动架构核心组件优缺点应用场景微核架构核心概念优缺点应用场景微服务架构核心组件设计与实施优缺点应用场景云架构云架构模式优缺点应用场景软件架构 软件架构是指一个软件系…...
算法和程序的区别
算法(Algorithm)和程序(Program)是计算机科学中两个密切相关但不同的概念。让我们通过以下几个方面来比较它们: ### 1. 设计 vs 实现 - **算法设计(Algorithm Design)**: - **定…...
用指针遍历数组
#include<stdio.h> int main() {//定义一个二维数组int arr[3][4] {{1,2,3,4},{2,3,4,5},{3,4,5,6},};//获取二维数组的指针int (*p)[4] arr;//二维数组里存的是一维数组int[4]for (int i 0; i < 3; i){//遍历一维数组for (int j 0; j <4; j){printf("%d &…...
《Probing the 3D Awareness of Visual Foundation Models》论文解析——多视图一致性
一、论文简介 论文讨论了大规模预训练产生的视觉基础模型在处理任意图像时的强大能力,这些模型不仅能够完成训练任务,其中间表示还对其他视觉任务(如检测和分割)有用。研究者们提出了一个问题:这些模型是否能够表示物体…...
使用pip安装esp32的擦除、写入固件的esptool库
esptool库可以为esp32的开发板烧录新的固件,但是如果为了烧录固件就要装esp-idf软件包,甚至需要用make编译安装很久,实在太费时费力了! 好消息就是,esp提供了python的esptool库,这样只要使用pip安装上这个…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
PH热榜 | 2025-06-08
1. Thiings 标语:一套超过1900个免费AI生成的3D图标集合 介绍:Thiings是一个不断扩展的免费AI生成3D图标库,目前已有超过1900个图标。你可以按照主题浏览,生成自己的图标,或者下载整个图标集。所有图标都可以在个人或…...
边缘计算网关提升水产养殖尾水处理的远程运维效率
一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...
