Matplotlib基础01( 基本绘图函数/多图布局/图形嵌套/绘图属性)
Matplotlib基础
Matplotlib是一个用于绘制静态、动态和交互式图表的Python库,广泛应用于数据可视化领域。它是Python中最常用的绘图库之一,提供了多种功能,可以生成高质量的图表。
Matplotlib是数据分析、机器学习等领域数据可视化的重要工具,广泛应用于科研、教学、报告等多种场景。
4.1 绘图基本函数
- Matplotlib参数配置
import matplotlib.pyplot as plt
#运行时配置参数
# rcParams : runtime configuration Parameters
#如果浏览器不显示图片,就需要加上这句话
%matplotlib inline
#让图片中可以显示中文
plt. rcParams['font.sans-serif'] = 'SimHei'
#让图片中可以显示负号
plt.rcParams['axes.unicode_minus'] = False
#支持svg矢量图
%config Inlinebackend.figure_format = 'svg'
- plt.plot()函数
# 用于绘图
# 1.需要传入相关的数据plt.plot(x,y)
# 2.颜色(color=''):b(蓝色),g(绿色),r(红色),c(青色),m(品红),y(黄色),k(黑色),w(白色)
# 3.线条样式(ls='--'):'-','--','-.',':','.'
# 4.plt.plot() 返回的是一个 matplotlib.lines.Line2D 实例,这个对象表示了你所绘制的图形中的一条线。这个返回值可以用来进一步修改或查询该线的属性,例如颜色、线型、标签等。
n=np.arange(-10,10,0.1)
plt.plot(n,n**2, color='r', ls='--')
plt.show() #展示当前绘图,下次重新绘图
- 绘图画布
plt.figure(figsize=(5,5)) #figsize=(5,5)画布大小5行,5列
plt.figure(dpi=100) #分辨率:表示每英寸多少个点
plt.figure(facecolor='g') #画布的颜色
plt.grid() #绘制网格
plt.plot(n,np.sin(n))
4.2 多图布局与图形嵌套
4.2.1 多图布局
- plt.subplot()函数:plt.subplot(nrows, ncols, index) 是用来创建一个 nrows 行 ncols 列的子图网格,并指定当前子图的位置(index)
# 绘制4个子图
plt.figure(figsize=(8,4))
# 子图1
ax1=plt.subplot(2,2,1) #两行两列第一个子图
ax1.plot(n, np.sin(n))
ax1.set_title("子图1")
# 子图2
ax2=plt.subplot(2,2,2) #两行两列第二个子图
ax2.plot(n, np.sin(n))
ax2.set_title("子图2")
# 子图3
ax3=plt.subplot(2,2,3) #两行两列第三个子图
ax3.plot(n, np.sin(n))
ax3.set_title("子图3")
# 子图4
ax4=plt.subplot(2,2,4) #两行两列第四个子图
ax4.plot(n, np.sin(n))
ax4.set_title("子图4")plt.tight_layout() #自动调整紧凑布局
# 绘制三个子图
plt.figure(figsize=(8,4))
# 子图1
ax1=plt.subplot(2,2,1) #两行两列第一个子图
ax1.plot(n, np.sin(n))
ax1.set_title("子图1")
# 子图2
ax2=plt.subplot(2,2,2) #两行两列第二个子图
ax2.plot(n, np.sin(n))
ax2.set_title("子图2")
# 子图3
ax3=plt.subplot(2,1,2) #两行一列第三个子图
ax3.plot(n, np.sin(n))
ax3.set_title("子图3")
# plt.subplot(2, 1, 1) 是在 第一行第一列 创建子图,适用于只有一个子图时使用。
# plt.subplot(2, 1, 2) 是在 第二行第一列 创建子图,这样可以确保每个子图在不同的行中显示,不会发生重叠
- **plt.subplots():**一次性构建多个子图
fig, axes=plt.subplots(3,3) #创建一个三行三列的画布
axes1, axes2, axes3=axes
axes1_1, axes1_2, axes1_3=axes1
axes2_1, axes2_2, axes2_3=axes2
axes3_1, axes3_2, axes3_3=axes3
"""
(<Figure size 640x480 with 9 Axes>,array([[<Axes: >, <Axes: >, <Axes: >],[<Axes: >, <Axes: >, <Axes: >],[<Axes: >, <Axes: >, <Axes: >]], dtype=object))
"""
fig.set_figwidth(10)
fig.set_figheight(10)
axes1_1.plot(n, np.sin(n))
axes1_2.plot(n, np.cos(n))
axes1_3.plot(n, np.tan(n))
axes2_1.plot(n, np.sin(n))
axes2_2.plot(n, np.sin(n))
axes2_3.plot(n, np.sin(n))
axes3_1.plot(n, np.sin(n))
axes3_2.plot(n, np.sin(n))
axes3_3.plot(n, np.sin(n))
4.2.2 图形嵌套
- add_subplot(nrows, ncols, index)
fig=plt.figure(figsize=(8,4))
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
y = np.sin(x)
axes1=fig.add_subplot(1,1,1) #画布分为一行一列的第一个子图
axes1.plot(x, y)
axes2=fig.add_subplot(2,2,1) #画布两行两列的第一个子图(左上角:相当于嵌套到子图1中)
axes2.plot(x, y)
Tip:
subplot:在多次调用时,会根据指定的 nrows、ncols 和 index 来“覆盖”前一个子图,图形窗口会被清空并重新绘制。
add_subplot:不会覆盖之前的图形,它是将一个新的子图添加到已有的图形窗口中。
- plt.axes([left, bottom, width, height])
# [left, bottom, width, height]:距左边框的距离,距底边框的距离,宽度,高度
fig=plt.figure(figsize=(8,4))
plt.plot(x, y)
axes=plt.axes([0.5, 0.2, 0.2, 0.2])
axes.plot(x, y)
4.2.3 双轴显示
plt.figure(figsize=(8,3))
axes=plt.gca()#获得当前轴域
plt.plot(x, y)axes2=axes.twinx()#和子图1共用x轴
axes2.plot(x,np.cos(x),c='r')
4.3 绘图属性
- 1.图例:legend()
plt.figure(figsize=(8,3))
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
# 1.通过lable属性标明图例的名字
plt.plot(x, np.sin(x), label='sin')
plt.plot(x, np.cos(x), label='cos')
# 2.通过legend图例属性进行显示
plt.legend()
# legend()的其他属性
plt.figure(figsize=(8,3))
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
# 1.通过lable属性标明图例的名字
plt.plot(x, np.sin(x), label='sin')
plt.plot(x, np.cos(x), label='cos')
# 2.通过legend图例属性进行显示
plt.legend(['sin函数','cos函数'],fontsize=8, #字体大小loc='lower left', #设置位置bbox_to_anchor=[0,1,1,1] #设置具体位置(x,y,width,heigh)
)
- 2.线条属性
"""
c:color 颜色
ls:linestyle样式
lw:linewidth宽度
alpha透明度
marker标记
mfc:markerfacecolor标记的背景颜色
mec:markeredgecolor:标记边框颜色
mew:markeredgewidth:标记边框粗细
"""
plt.figure(figsize=(8,3))
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
plt.plot(x, np.sin(x), label='sin', color='red', linestyle='--', lw=1, marker='o', mfc='g', markeredgecolor='y',alpha=0.5)
plt.plot(x, np.cos(x), label='cos', color='green', linestyle=':', linewidth=2, marker='p', mfc='r', mec='y', mew=2,alpha=1)
plt.legend()
- 3.坐标刻度和坐标范围
plt.xticks()与plt.yticks()设置坐标刻度:
plt.figure(figsize=(8, 3))
x = np.arange(-2*np.pi, 2*np.pi, 0.1)
plt.plot(x, np.sin(x), label='sin', color='red', linestyle='--', lw=1, marker='o', mfc='g', markeredgecolor='y', alpha=0.5)
plt.plot(x, np.cos(x), label='cos', color='green', linestyle=':', linewidth=2, marker='p', mfc='r', mec='y', mew=2, alpha=1)# 设置x轴刻度和标签
plt.xticks(ticks=[-2*np.pi, -np.pi, 0, np.pi, 2*np.pi], # 刻度位置labels=['-2π', '-π', '0', 'π', '2π'], # 替换的刻度标签fontsize=10,color='blue',ha='right' # 水平对齐方式
)
plt.yticks(ticks=[-1, 0, 1])
plt.legend()
plt.show()
plt.xlim()和plt.ylim()或plt.axis()设置坐标的范围
plt.xlim(-10, 10) #x的范围设置为-10~+10
plt.ylim(-2, 2) #y的范围设置为-2~+2
or
plt.axis([-10, 10,-2, 2]) #xmin, xmax, ymin, ymax:同时设置
plt.axis()中有option属性也可以对坐标进行一些特殊操作
'auto':自动调整坐标轴范围。
'equal':确保 x 轴和 y 轴的比例一致。
'off':关闭坐标轴显示。
'tight':紧缩坐标轴范围,紧贴数据边界。
[xmin, xmax, ymin, ymax]:手动指定坐标轴的范围。
'scaled':保持坐标轴的比例一致,适用于不等尺度的情况。
'square':强制坐标轴显示为正方形。
- 4.标题,标签,网格线
#设置标题
plt.title('正弦曲线', loc='center', y=1.1)
plt.suptitle('三角函数的图像', x=0.51, y=1.1) #x,y调整标签的位置
#设置标签
plt.xlabel('sin(x)函数图像')
plt.ylabel('y=sin(x)') #默认rotation角度为90°
plt.ylabel('y=sin(x)', rotation=0, ha='right') #可以通过rotation=0调整水平,ha设置为右对齐
#设置网格
plt.grid(ls='--', lw=1, c='gray', axis='x') #axis可以设置显示哪个轴
- 文本,注释标注
# 文本:plt.text()
plt.figure(figsize=(8, 3))
x = np.arange(0, 2*np.pi, 0.1)
plt.plot(x, np.sin(x))
plt.tight_layout()plt.text(0.5*np.pi-0.2, 0.8, '最高点')
plt.text(x=1.5*np.pi, #文本的横坐标y=-0.8, #文本的纵坐标s='最低点', #文本信息ha='center', #水平居中va='center', #垂直居中color='red' #文本颜色
)
# 注释标注:
plt.figure(figsize=(8, 3))
x = np.arange(0, np.pi, 0.1)
plt.plot(x, np.sin(x))
plt.tight_layout()plt.annotate(text='最高点', # 注释文本为'最高点'xy=(0.5 * np.pi, 1), # 箭头指向坐标(0.5 * np.pi, 1),即图中的最高点xytext=(0.5 * np.pi - 0.2, 0.55), # 注释文本位置稍微偏离箭头arrowprops={ # 配置箭头的样式'width': 1, # 设置箭头的宽度为1'headwidth': 3, # 设置箭头头部的宽度为3'facecolor': 'green' # 设置箭头的颜色为绿色}
)
- 保存图片
fig.savefig('正弦函数.png')
相关文章:
Matplotlib基础01( 基本绘图函数/多图布局/图形嵌套/绘图属性)
Matplotlib基础 Matplotlib是一个用于绘制静态、动态和交互式图表的Python库,广泛应用于数据可视化领域。它是Python中最常用的绘图库之一,提供了多种功能,可以生成高质量的图表。 Matplotlib是数据分析、机器学习等领域数据可视化的重要工…...
Spring Boot: 使用 @Transactional 和 TransactionSynchronization 在事务提交后发送消息到 MQ
Spring Boot: 使用 Transactional 和 TransactionSynchronization 在事务提交后发送消息到 MQ 在微服务架构中,确保消息的可靠性和一致性非常重要,尤其是在涉及到分布式事务的场景中。本文将演示如何使用 Spring Boot 的事务机制和 TransactionSynchron…...
解析3DMAX转OBJ
3ds Max 是一款功能强大的三维建模、动画和渲染软件,而 OBJ 是一种常用的三维模型文件格式,以下是关于 3ds Max 转 OBJ 的相关解析: 3ds Max 转 OBJ 的原因 兼容性需求: OBJ 格式被众多三维软件和渲染器所支持,将 3…...
html为<td>添加标注文本
样式说明: /*为td添加相对定位点*/ .td_text {position: relative; }/*为p添加绝对坐标(相对于父元素中的定位点)*/ .td_text p {position: absolute;top: 80%;font-size: 8px; }参考资料:...
AI驱动的智能流程自动化是什么
在当今快速发展的数字化时代,企业正在寻找更高效、更智能的方式来管理日常运营和复杂任务。其中,“AI驱动的智能流程自动化”(Intelligent Process Automation, IPA)成为了一个热门趋势。通过结合人工智能(AIÿ…...
vue动态table 动态表头数据+动态列表数据
效果图: <template><div style"padding: 20px"><el-scrollbar><div class"scrollbar-flex-content"><div class"opt-search"><div style"width: 100px"> </div><div class"opt-b…...
ubuntu下迁移docker文件夹
在 Ubuntu 系统中迁移 Docker 文件夹(如 Docker 数据存储文件夹 /var/lib/docker)到另一个磁盘或目录,通常是为了释放系统盘空间。以下是迁移过程的详细步骤: 1. 停止 Docker 服务 在进行迁移之前,必须停止 Docker 服…...
Neo4j图数据库学习(二)——SpringBoot整合Neo4j
一. 前言 本文介绍如何通过SpringBoot整合Neo4j的方式,对图数据库进行简单的操作。 Neo4j和SpringBoot的知识不再赘述。关于Neo4j的基础知识,有兴趣可以看看作者上一篇的文章:Neo4j图数据库学习(一)——初识CQL 二. 前置准备 新建SpringBo…...
离散型变量的 PSI-群体稳定性指标计算
文章目录 PSI-群体稳定性指标(离散型)单个指标计算所有指标计算 PSI-群体稳定性指标(离散型) 单个指标计算 代码 import pandas as pddf pd.read_csv(/Users/mengzhichao/Desktop/文件/图表/小微企业用电量数据.csv)X_train df.sample(n7000) X_test df.sample(n3000)计算单…...
docker grafana安装
mkdir /root/grafana-storage chmod 777 -R /root/grafana-storage docker run -d -p 3000:3000 --namedocker-apisix-grafana-1 --network docker-apisix_apisix -v /root/grafana-storage:/var/lib/grafana grafana/grafana:9.1.0 浏览器访问: http://192.…...
NetCore Consul动态伸缩+Ocelot 网关 缓存 自定义缓存 + 限流、熔断、超时 等服务治理 + ids4鉴权
网关 OcelotGeteway 网关 Ocelot配置文件 {//单地址多实例负载均衡Consul 实现动态伸缩"Routes": [{// 上游 》》 接受的请求//上游请求方法,可以设置特定的 HTTP 方法列表或设置空列表以允许其中任何方法"UpstreamHttpMethod": [ "Get", &quo…...
【进度条实现】Python中tqdm使用示例
tqdm 是 Python 中一个非常流行的进度条库,可以快速为循环或长时间运行的任务添加进度提示。以下是 tqdm 的常见用法和示例: 1. 安装 pip install tqdm2. 基本用法 在循环中使用 最简单的用法是用 tqdm 包装一个可迭代对象(如列表、range …...
Chirpy3D:用于创意 3D 鸟类生成的连续部分潜在特征
Chirpy3D框架可以将细粒度的2D图像理解提升至3D生成的全新境界。当前的3D生成方法往往只关注于重构简单的对象,缺乏细致的特征和创造性。Chirpy3D通过结合多视角扩散模型和连续的部件潜在空间,能够生成全新且合理的3D鸟类模型。该系统不仅能够保持细致的…...
李飞飞团队 S1 与 DeepSeek R1 技术对比
李飞飞团队 S1 与 DeepSeek R1 技术对比 李飞飞团队的 S1 模型和 DeepSeek R1 模型都是在 AI 推理领域具有重要影响力的模型,它们在技术原理、性能表现和训练成本等方面存在一些差异。 技术原理 S1 模型:S1 模型采用了监督微调(SFT…...
LeetCode 3444.使数组包含目标值倍数的最小增量
给你两个数组 nums 和 target 。 在一次操作中,你可以将 nums 中的任意一个元素递增 1 。 返回要使 target 中的每个元素在 nums 中 至少 存在一个倍数所需的 最少操作次数 。 示例 1: 输入:nums [1,2,3], target [4] 输出:…...
Node.js 中模块化
随着软件开发项目的规模和复杂性的增加,如何有效地组织代码、提高可维护性和促进团队协作成为了一个重要的课题。Node.js 提供了强大的模块系统,使得开发者能够将代码分割成独立的、可重用的模块,从而简化大型应用的开发过程。本文将详细介绍…...
jdk8新特性
目录 1 lambda表达式 1.1 类型推断 1.2 局部变量限制 2 函数式接口 2.1 Predicate 函数式接口 2.2 Supplier函数式接口 2.3 Consumer函数式接口 2.4 Function函数式接口 2.5 Runnable函数式接口 3 方法引用和构造器引用 3.1 对象方法引用 3.2 静态方法引用 3.3 构造方法引用 4 …...
ZooKeeper 和 Dubbo 的关系:技术体系与实际应用
引言 在现代微服务架构中,服务治理和协调是至关重要的环节。ZooKeeper 和 Dubbo 是两个在分布式系统中常用的技术工具,它们之间有着紧密的联系。本文将详细探讨 ZooKeeper 和 Dubbo 的关系,从基础概念、技术架构、具体实现到实际应用场景&am…...
ESP32-S3模组上跑通esp32-camera(43)
接前一篇文章:ESP32-S3模组上跑通esp32-camera(42) 一、OV5640初始化 2. 相机初始化及图像传感器配置 上一回继续对reset函数的后一段代码进行解析。为了便于理解和回顾,再次贴出reset函数源码,在components\esp32-camera\sensors\ov5640.c中,如下: static int reset…...
解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException
解决Spring Boot中MySQL数据库报错“Bad SQL Grammar”的问题 目录 解决Spring Boot中MySQL数据库报错“Bad SQL Grammar”的问题 问题描述解决步骤解决方案结论附:MySql常用配置参数及使用场景 在使用Spring Boot连接MySQL数据库时,有时候会遇到“B…...
NCV4275CDT50RKG 车规级LDO线性电压调节器芯片——专为新能源汽车设计的高可靠性电源解决方案
产品概述: NCV4275CDT50RKG 是一款符合 AEC-Q100 车规认证的高性能LDO(低压差线性稳压器),专为新能源汽车的严苛工作环境设计。该芯片支持 输出调节为 5.0 V 或 3.3 V,最大输出电流达 450mA,具备超低静态电流…...
DeepSeek Window本地私有化部署
前言 最近大火的国产AI大模型Deepseek大家应该都不陌生。除了在手机上安装APP或通过官网在线体验,其实我们完全可以在Windows电脑上进行本地部署,从而带来更加便捷的使用体验。 之前也提到过,本地部署AI模型有很多好处,比如&…...
镜头放大倍率和像素之间的关系
相互独立的特性 镜头放大倍率:主要取决于镜头的光学设计和结构,决定了镜头对物体成像时的缩放程度,与镜头的焦距等因素密切相关。比如,微距镜头具有较高的放大倍率,能将微小物体如昆虫、花朵细节等放大成像࿰…...
【RabbitMQ重试】重试三次转入死信队列
以下是基于RabbitMQ死信队列实现消息重试三次后转存的技术方案: 方案设计要点 队列定义改造(核心参数配置) Bean public Queue auditQueue() {Map<String, Object> args new HashMap<>();args.put("x-dead-letter-exchan…...
【一文读懂】卫星轨道的轨道参数(六根数)和位置速度矢量转换及其在终端距离、相对速度和多普勒频移计算中的应用
卫星轨道的六根数参数及其在终端距离、相对速度和多普勒频移计算中的应用 卫星轨道运动的描述离不开开普勒六要素(也称为六根数参数),它们完整地刻画了一颗卫星在引力场中的轨道信息。本文将介绍这六个参数的意义,并探讨如何利用…...
车载诊断框架 --- 使用CAPL脚本实现诊断测试吧(中)
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...
Lockdir加密忘记密码:解锁数据恢复之道
Lockdir加密忘记密码现象解析 Lockdir作为一款知名的文件夹加密软件,因其强大的加密功能和便捷的操作体验而广受用户好评。然而,当谈及Lockdir加密忘记密码这一情况时,不少用户却面露难色。Lockdir加密忘记密码,简而言之…...
SQL优化方式
避免select *:开发中禁止使用select * 。它会增加查询解析器成本,无法走索引覆盖而产生回表操作,还会增加网络消耗,浪费CPU和内存资源,应指定具体查询字段。小表驱动大表:关联查询时,用数据量小…...
java项目之基于推荐算法的图书购物网站源码(ssm+mybatis+mysql)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的基于推荐算法的图书购物网站项目。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于推荐算法的…...
java中的线程安全
线程安全的定义 线程安全:一个类或方法在多线程环境下可以被多个线程同时访问,而不会导致数据的不一致或错误。 线程不安全:一个类或方法在多线程环境下不能被多个线程同时访问,否则可能导致数据的不一致或错误。线程安全的实现 线…...
day44 QT核心机制
头文件: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QLabel> //标签类头文件 #include<QPushButton> //按钮类头文件 #include<QLineEdit> //行编辑器类头文件QT_BEGIN_NAMESPACE namespace Ui { class Widget; } …...
字节跳动后端一面
📍1. Gzip压缩技术详解 Gzip是一种流行的无损数据压缩格式,它使用DEFLATE算法来减少文件大小,广泛应用于网络传输和文件存储中以提高效率。 🚀 使用场景: • 网站优化:通过压缩HTML、CSS、JavaScript文件来…...
WebSocket推送数据快,条数多导致前端卡顿问题解决
WebSocket推送数据快,条数多导致前端卡顿问题解决 前言方案优化消息频率使用高效的数据格式Protobuf 和 MessagePack的对比 启用压缩前端性能优化 WebSocket使用注意事项连接管理处理断开连接负载均衡监控和维护日志记录定期维护安全最佳实践限流 最后 前言 在项目…...
android动态设置是否允许应用卸载
摘要:通过广播设置全局参数控制应用是否允许卸载,全局参数在Launcher和PackageInstaller两个模块中使用到。此功能可用于MDM后台控制是否允许设备卸载应用。 1. 静态注册广播 由于系统安装和卸载的功能集中在PackageInstaller模块中,为了更…...
【C/C++】每日温度 [ 栈的应用 ] 蓝桥杯/ACM备赛
数据结构考点:栈 题目描述: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高࿰…...
开启蓝耘之旅:DeepSeek R1 模型在智算平台的起步教程
----------------------------------------------------------我的个人主页-------------------- 动动你的手指----------------------------------------点赞👍 收藏❤--------------------------------------------------------------- 引言 在深度学习的广袤领…...
基于SpringBoot+Vue实现航空票务管理系统
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,…...
基于改进型灰狼优化算法(GWO)的无人机路径规划
内容: 基于改进型灰狼优化算法的无人机轨迹规划 GWO是一种群体智能优化算法,模仿灰狼的社会等级和狩猎行为。原始的GWO有一些局限性,比如容易陷入局部最优,收敛速度慢等,所以改进型的GWO可能通过不同的策略来优化这些…...
高级记事本 Sublime Text 下载与使用教程:附百度网盘地址
一、引言 在编程和文本编辑领域,Sublime Text 被誉为一款功能强大的高级记事本。它以其轻量级、高效、多语言支持等特点,深受开发者和文本工作者的喜爱。本文将详细介绍 Sublime Text 的下载方法、安装步骤、使用技巧,并提供百度网盘下载地址…...
4G核心网的演变与创新:从传统到虚拟化的跨越
4G核心网 随着移动通信技术的不断发展,4G核心网已经经历了从传统的硬件密集型架构到现代化、虚拟化网络架构的重大转型。这一演变不仅提升了网络的灵活性和可扩展性,也为未来的5G、物联网(LOT)和边缘计算等技术的发展奠定了基础。…...
Jmeter快速实操入门
以下操作需要提前安装了JDK(JDK版本要Java8),并且配置了环境变量。 1、下载Jmeter,下载连接。选择zip版本,解压即可。 2、解压后的文件目录如下。 3、进入bin文件夹,双击ApacheJMeter,运行Jmeter。 4、在测…...
JavaScript中的防抖与节流:提升性能的关键技巧 (1)
文章目录 JavaScript 中的防抖与节流:提升性能的关键技巧一、防抖(Debounce)1.1 概念1.2 应用场景1.3 代码实现 二、节流(Throttle)2.1 概念2.2 应用场景2.3 代码实现2.3.1 时间戳方式2.3.2 定时器方式 三、防抖与节流…...
Java数据类型转换(自动转换和强制转换)
数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。 自动数据…...
【大数据技术】Spark分布式实现词频统计(hadoop+python+spark)
Spark分布式实现词频统计(hadooppythonspark) 搭建完全分布式高可用大数据集群(VMwareCentOSFinalShell) 搭建完全分布式高可用大数据集群(HadoopMapReduceYarn) 本机PyCharm远程连接CentOS虚拟机&#x…...
UMLS初探
什么是UMLS UMLS(Unified Medical Language System,统一医学语言系统),简单来说就是将不同的医学标准统一到一套体系的系统,主要为了医疗系统的统一而构建出的。 UMLS的主要组成部分 Metathesaurus:一个…...
Redis持久化机制详解
为什么需要持久化 Redis通常被作为缓存使用,但是Redis一旦宕机,内存中的数据全部丢失,可能会导致数据库崩溃。如果是从数据库中恢复这些数据就会存在频繁访问数据库和读取速度慢的问题。所以redis实现数据的持久化,是至关重要的。…...
Python 鼠标轨迹 - 防止游戏检测
一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…...
PB-DW-数据窗口-降级-从12.5降级到9.0
PB 数据窗口从125降级到90 供参考,有哪些属性仍然需要删除,请在评论区留言。谢谢。 如果您有更好的工具,能分享给我一份的话,就更好了,感谢。 12.5数据窗口降级9.01- release 12.5; 更改为 release 9;2- 第二行的 d…...
Logo语言的测试开发
Logo语言的测试开发 引言 随着编程教育的不断发展,学习编程的门槛逐渐降低,各种编程语言应运而生。其中,Logo语言作为一种经典的教育编程语言,在培养儿童的逻辑思维和解决问题的能力方面,发挥了重要的作用。本文将深…...
位图的深入解析:从数据结构到图像处理与C++实现
在学习优选算法课程的时候,博主学习位运算了解到位运算的这个概念,之前没有接触过,就查找了相关的资料,丰富一下自身,当作课外知识来了解一下。 位图(Bitmap)是一种用于表示图像的数据结构&…...