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安装上这个…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
