Python数学建模-2.9Matplotlib库
Matplotlib库是Python中一个非常流行的绘图库,它提供了大量的绘图工具,可以生成各种类型的静态、动态、交互式的图表。Matplotlib的设计初衷是为了与NumPy配合使用,从而提供一个强大的数学绘图工具。
1.Matplotlib的主要特点
- 丰富的图表类型:支持绘制线图、柱状图、散点图、饼图、等高线图、热力图、雷达图、三位曲线和曲面等多种类型的图表。
- 高度可定制性:允许用户通过调整各种参数来自定义图表的外观,包括线条样式、字体属性、轴属性、颜色、标签、图例等。
- 与NumPy等库的无缝集成:可以方便地使用NumPy等科学计算库的数据进行绘图。
- 交互式绘图:通过集成工具包(如Tkinter),可以创建交互式图表,允许用户与图表进行交互。
- 导出功能:可以将图表保存为多种格式的图片或PDF文件,方便分享和展示。
使用Matplotlib库进行绘图的基本步骤如下:
- 导入Matplotlib库:使用
import matplotlib.pyplot as plt
导入Matplotlib库。 - 准备数据:准备要绘制的数据,可以是NumPy数组、列表或其他数据类型。
- 创建图表:使用Matplotlib提供的函数创建图表,设置图表的类型、坐标轴范围等。
- 添加数据到图表:将准备好的数据添加到图表中,设置数据点的样式、颜色等。
- 定制图表外观:通过调整参数来自定义图表的外观,如添加标题、标签、图例等。
- 显示或保存图表:使用
plt.show()
显示图表,或使用plt.savefig()
将图表保存为文件。
下面是一个简单的Matplotlib绘图示例:
import matplotlib.pyplot as plt
import numpy as np# 准备数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 创建图表
plt.figure()# 添加数据到图表
plt.plot(x, y)# 定制图表外观
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置默认字体为新创建的字体
plt.title('Sine 图')
plt.xlabel('x')
plt.ylabel('y')# 显示图表
plt.show()
注意:Matplotlib画图显示中文时通常为乱码,如果想在图形中显示中文字符、负号等,则需要使用如下代码进行设置:
plt.rcParams['font.sans-serif'] = 'SimHei' # 设置默认字体为新创建的字体 plt.rcParams['axes.unicode_minus'] = False # 用于正常显示负号
或者等价地写为:
rc('font',family='SimHei')# 设置默认字体为新创建的字体
rc('axes',unicode_minus=False)# 用于正常显示负号
2.二维绘图
2.1折线图 (plot)
matplotlib.pyplot
是 Matplotlib 库中的一个模块,它提供了一套命令风格的函数接口,用于控制 Matplotlib 的图形生成过程。通过 pyplot
,用户可以方便地创建各种类型的图表,控制图表的各个部分(如坐标轴、标题、图例等),以及将图表保存到文件或显示在屏幕上。
matplotlib.pyplot
的常用函数包括:
plot()
:绘制线图。scatter()
:绘制散点图。bar()
:绘制柱状图。hist()
:绘制直方图。pie()
:绘制饼图。xlabel()
和ylabel()
:设置 x 轴和 y 轴的标签。title()
:设置图表的标题。legend()
:添加图例。grid()
:添加网格线。xlim()
和ylim()
:设置 x 轴和 y 轴的范围。show()
:显示图表。savefig()
:将图表保存到文件。
以下是一个使用 matplotlib.pyplot
的简单示例:
import matplotlib.pyplot as plt
import numpy as np# 创建数据
x = np.linspace(0, 10, 100)
y = np.sin(x)# 绘制线图
plt.plot(x, y, label='sin(x)')# 设置图表标题和坐标轴标签
plt.title('Simple Plot of sin(x)')
plt.xlabel('x')
plt.ylabel('y')# 添加图例
plt.legend()# 显示网格线
plt.grid(True)# 设置坐标轴范围
plt.xlim(0, 10)
plt.ylim(-1.5, 1.5)# 显示图表
plt.show()
2.2plot函数的调用格式
常用语法和参数含义如下:
plot(x,y,s)
其中,x为数据点的x坐标,y为数据的的y坐标,s为指定线条颜色、线条样式和数据点形状的字符串。
matplotlib.pyplot
中的 plot
函数是用于绘制线图的基本函数。它的调用格式非常灵活,可以接受多种参数来定制图表的外观和行为。以下是一些常见的调用格式和参数说明:
matplotlib.pyplot.plot(*args, **kwargs)
参数说明
必需参数(*args
)
- x, y:表示数据点的 x 和 y 坐标。这些可以是列表、数组、标量或其他可迭代对象。如果 x 和 y 都是序列,那么它们应该具有相同的长度。如果只有一个序列,则 x 的值会被当作索引(0 到 N-1)。
可选参数(**kwargs
)
- format string(格式字符串):一个可选的格式字符串,用于指定线条的样式、颜色和标记。例如,
'r-'
表示红色实线,'go'
表示带有绿色圆圈的线。 - linewidth 或 lw:线条宽度,以点为单位。
- linestyle 或 ls:线条样式,如
'-'
,--
,'-.'
,':'
,'.'
,','
,'o'
,'v'
,'^'
,'<'
,'>'
,'1'
,'2'
,'3'
,'4'
等。 - color 或 c:线条颜色。可以是预定义的颜色名称、RGB 元组或十六进制颜色代码。
- marker:用于数据点的标记样式,如
'o'
,'.'
,','
,'s'
,'p'
,'D'
,'d'
,'|'
,'_'
等。 - markersize 或 ms:标记的大小。
- markerfacecolor 或 mfc:标记的填充颜色。
- markeredgecolor 或 mec:标记边缘的颜色。
- label:图例的标签。
- alpha:透明度(0 表示完全透明,1 表示完全不透明)。
- xscale, yscale:数据比例,可以是
'linear'
,'log'
,'symlog'
,'logit'
等。 - 等等:
plot
函数支持许多其他可选参数,用于控制线图的各个方面。
示例
以下是一些使用 plot
函数的示例:
import matplotlib.pyplot as plt
import numpy as np # 创建一些示例数据
x = np.linspace(0, 10, 100)
y = np.sin(x) # 使用默认设置绘制线图
plt.plot(x, y)
plt.show() # 使用格式字符串定制线图
plt.plot(x, y, 'r--') # 红色虚线
plt.show() # 使用关键字参数定制线图
plt.plot(x, y, linewidth=2, linestyle='-', color='g', marker='o') # 绿色实线,带有圆圈标记,线宽为2
plt.show()
案例操作1:
已知某店铺商品的销售量如下表所列。请画出商品销售趋势图。
月份 | 1月 | 2月 | 3月 | 4月 | 5月 | 6月 |
钻石销量/个 | 13 | 10 | 27 | 33 | 30 | 45 |
铂金销量/只 | 1 | 10 | 7 | 26 | 20 | 25 |
解:
import pandas as pd
import pylab as plt
plt.rc('font',family='SimHei') #用来正常显示中文标签
plt.rc('font',size=16) #设置显示字体大小
a=pd.read_excel("data1.xlsx", header=None)
b=a.values #提取其中的数据
x=b[0]; y=b[1:]
plt.plot(x,y[0],'-*b',label='铂金')
plt.plot(x,y[1],'--dr',label='铂金')
plt.xlabel('月份')
plt.ylabel('每月销量')
plt.legend(loc='upper left')
plt.grid(); plt.show()
关键代码注释:
# 使用pandas的read_excel函数读取名为"data1.xlsx"的Excel文件,header=None表示不将第一行视为列名,而是将其视为数据
a=pd.read_excel("data1.xlsx", header=None)
# 从DataFrame对象a中提取数据,并将其赋值给变量b,此时b是一个二维的numpy数组 b=a.values
# 将b数组的第一行赋值给变量x,这通常表示x轴的数据点
x=b[0]
# 将b数组的第二行到最后一行赋值给变量y,这通常表示y轴的数据点,这里y是一个二维数组 y=b[1:]
# 使用matplotlib的plot函数绘制线图,x为x轴数据,y[0]为y轴的第一个数据集,'-*b'表示线型为实线、数据点标记为星号、颜色为蓝色,label='铂金'表示图例的标签为'铂金'
plt.plot(x,y[0],'-*b',label='铂金')
# 再次使用matplotlib的plot函数绘制线图,但这次使用不同的线型和颜色,表示不同的数据集。
plt.plot(x,y[1],'--dr',label='铂金')
# 设置x轴的标签为'月份'
plt.xlabel('月份')
# 设置y轴的标签为'每月销量'
plt.ylabel('每月销量')
# 显示图例,并将其位置设置为左上角
plt.legend(loc='upper left')
# 显示网格线
plt.grid()
案例操作2:
画出表date销售数据的柱状图。
import pandas as pd
import pylab as plt
plt.rc('font',family='SimHei') #用来正常显示中文标签
plt.rc('font',size=16) #设置显示字体大小
a=pd.read_excel("data2_52.xlsx",header=None)
b=a.T
b.plot(kind='bar')
plt.legend(['钻石', '铂金'])
plt.xticks(range(6), b[0], rotation=0); plt.show()
关键注释:
# 使用DataFrame的T属性对a进行转置,即行变列,列变行
b = a.T
# 使用DataFrame的plot方法绘制b的条形图,kind='bar'表示绘制条形图
b.plot(kind='bar')
# 设置图例,这里图例的内容是['钻石', '铂金'],但注意,由于前面没有对数据进行具体的分类,这里设置图例可能会与实际数据不匹配
plt.legend(['钻石', '铂金'])
# 设置x轴的刻度标签,range(6)表示设置6个刻度,b[0]为x轴刻度标签的数据,rotation=0表示标签不旋转
plt.xticks(range(6), b[0], rotation=0)
2.3子图 (subplot)
在Python中,特别是在使用matplotlib库时,我们可以创建子图(subplots),即将多个图表组合在同一个窗口中。这允许我们同时展示多个数据集,方便比较和展示。
matplotlib.pyplot模块中的subplots
函数是创建子图的主要工具。下面是一个简单的例子,展示了如何创建和定制子图。
import matplotlib.pyplot as plt
import numpy as np
plt.rc('font',family='SimHei') #用来正常显示中文标签
plt.rc('font',size=16) #设置显示字体大小
plt.rcParams['axes.unicode_minus'] = False # 用于正常显示负号# 创建一些示例数据
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)# 使用subplots函数创建子图,参数(2, 1)表示创建2行1列的子图网格,当前选中的是第1个子图
fig, axs = plt.subplots(2, 1, figsize=(6, 8))# 在第一个子图中绘制数据
axs[0].plot(x, y1)
axs[0].set_title('正弦函数')
axs[0].set_xlabel('x')
axs[0].set_ylabel('y')# 在第二个子图中绘制数据
axs[1].plot(x, y2)
axs[1].set_title('余弦函数')
axs[1].set_xlabel('x')
axs[1].set_ylabel('y')# 调整子图之间的间距
plt.tight_layout()# 显示图表
plt.show()
案例操作3:
把一个窗口分成3个子窗口,分别绘制如下3个子图:
(1)一个柱状图;
(2)一个饼图;
(3)曲线y=sin(10x)/x。
解:
# 导入pylab模块,并使用plt作为别名,方便后续调用
import pylab as plt # 导入numpy模块,并使用np作为别名,方便后续调用
import numpy as np # 设置matplotlib的样式为默认样式
plt.style.use('default') # 生成一个包含6个随机整数的数组,这些整数的范围是2到4(包括2但不包括5)
y1 = np.random.randint(2, 5, 6) # 将y1数组中的每个元素除以y1数组所有元素的总和,使其总和为1
y1 = y1 / sum(y1) # 创建一个2x2的子图网格,并选择第一个位置(从1开始计数)进行绘图
plt.subplot(2, 2, 1) # 定义一个包含6个水果名称的字符串列表
str = ['Apple', 'grape', 'peach', 'pear', 'banana', 'pineapple'] # 绘制一个水平条形图,其中str作为x轴标签,y1作为条形的高度
plt.barh(str, y1) # 水平条形图 # 选择子图网格的第二个位置进行绘图
plt.subplot(222) # 这里的222是matplotlib的旧式子图索引方式,等同于plt.subplot(2, 2, 2) # 绘制一个饼图,其中y1作为饼图的各部分大小,str作为各部分的标签
plt.pie(y1, labels=str) # 饼图 # 选择子图网格的第三个位置进行绘图
plt.subplot(212) # 这意味着选择第2行第1列的位置,因为212是子图网格的行、列和索引的组合 # 生成一个包含100个元素的数组x2,这些元素从0.01线性增加到10
x2 = np.linspace(0.01, 10, 100) # 计算y2数组,其中每个元素是10*x2的正弦值除以x2的值
y2 = np.sin(10*x2) / x2 # 绘制y2关于x2的曲线图
plt.plot(x2, y2) # 设置x轴的标签为'$x$'
plt.xlabel('$x$') # 设置y轴的标签为'$\mathrm{sin}(10x)/x$',其中\mathrm{}用于设置字体样式
plt.ylabel('$\\mathrm{sin}(10x)/x$') # 显示所有绘制的图形
plt.show()
3.三维绘图
3.1三维曲线
在Python中,我们可以使用matplotlib库中的mplot3d工具包来绘制三维曲线。下面是一个简单的例子,演示了如何绘制一个三维正弦曲线:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D# 创建一个新的图形
fig = plt.figure()# 添加一个3D子图
ax = fig.add_subplot(111, projection='3d')# 创建x值范围
x = np.linspace(-2 * np.pi, 2 * np.pi, 100)# 对于每一个x值,计算对应的y和z值
y = np.sin(x)
z = np.cos(x)# 使用plot函数绘制三维曲线,其中x, y, z是坐标点
ax.plot(x, y, z)# 设置x, y, z轴的标签
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
ax.set_zlabel('Z Axis')# 设置标题
ax.set_title('3D Curve Plot')# 显示图形
plt.show()
案例操作1:
画出三维曲线的图形。
解:
import pylab as plt # 导入pylab库,并使用plt作为别名
import numpy as np # 导入numpy库,并使用np作为别名 # 创建一个3D坐标轴的图形
ax = plt.axes(projection='3d') # 设置三维图形模式,返回一个3D坐标轴的实例,并赋值给变量ax # 创建一个从-50到50的等差数列,共1000个元素,赋值给变量z
z = np.linspace(-50, 50, 1000) # 根据z的值计算x和y的值
# x的值是z的平方乘以sin(z)的结果
x = z**2 * np.sin(z)
# y的值是z的平方乘以cos(z)的结果
y = z**2 * np.cos(z) # 使用plt.plot绘制三维曲线,曲线的x坐标是x,y坐标是y,z坐标是z,曲线颜色为黑色('k')
plt.plot(x, y, z, 'k') # 显示绘制的图形
plt.show()
案例操作2:
画出三维曲面图。
解:
import pylab as plt # 导入pylab库,并使用plt作为别名,pylab是matplotlib的一个模块,提供了类似MATLAB的绘图接口
import numpy as np # 导入numpy库,并使用np作为别名,numpy是Python中用于数值计算的库 # 创建一个等差数列,从-4到4,包含100个元素,赋值给变量x
x = np.linspace(-4, 4, 100); # 使用numpy的meshgrid函数生成两个二维数组x和y,它们分别表示x和y坐标的所有可能组合
# 这里x和y是形状相同的二维数组,用于后续的三维绘图
x, y = np.meshgrid(x, x) # 计算z的值,根据x和y的组合,用50乘以(x+y)的正弦值,生成一个与x和y形状相同的二维数组z
z = 50 * np.sin(x + y); # 创建一个3D坐标轴的图形,返回一个3D坐标轴的实例,并赋值给变量ax
ax = plt.axes(projection='3d') # 使用ax的plot_surface方法绘制三维曲面,x和y是曲面的网格坐标,z是曲面在z轴上的高度
# color='y'表示曲面的颜色为黄色
ax.plot_surface(x, y, z, color='y') # 显示绘制的图形
plt.show()
案例操作3:
画出三维表面图
解:
import pylab as plt # 导入pylab库,并使用plt作为别名。pylab是matplotlib的一个模块,提供了类似于MATLAB的绘图接口。
import numpy as np # 导入numpy库,并使用np作为别名。numpy是Python中用于数值计算的库。ax = plt.axes(projection='3d') # 创建一个3D坐标轴的图形,并返回该坐标轴的实例赋值给变量ax。# 生成一维数组X,范围从-6到6,步长为0.25
X = np.arange(-6, 6, 0.25)
# 生成一维数组Y,范围从-6到6,步长为0.25
Y = np.arange(-6, 6, 0.25)# 使用np.meshgrid函数根据X和Y生成二维网格坐标数组
# X和Y现在是形状相同的二维数组,包含了绘制三维曲面所需的网格点的x和y坐标
X, Y = np.meshgrid(X, Y)# 计算Z的值,这里Z是每个网格点上对应的高度,根据X和Y的坐标计算得到
# 使用np.sin函数和欧几里得距离公式(np.sqrt(X**2 + Y**2))来计算Z的值
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))# 使用ax的plot_surface方法绘制三维曲面
# X, Y是曲面的网格坐标,Z是曲面在z轴上的高度
# cmap='coolwarm'表示使用'coolwarm'颜色映射来显示曲面上的颜色变化
surf = ax.plot_surface(X, Y, Z, cmap='coolwarm')# 添加颜色条来显示曲面上的颜色与Z值之间的对应关系
plt.colorbar(surf)# 显示绘制的图形
plt.show()
相关文章:

Python数学建模-2.9Matplotlib库
Matplotlib库是Python中一个非常流行的绘图库,它提供了大量的绘图工具,可以生成各种类型的静态、动态、交互式的图表。Matplotlib的设计初衷是为了与NumPy配合使用,从而提供一个强大的数学绘图工具。 1.Matplotlib的主要特点 丰富的图表类型…...

【MySQL】数据库的基础概念
👦个人主页:Weraphael ✍🏻作者简介:目前学习计网、mysql和算法 ✈️专栏:MySQL学习 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬…...

Linux:离线安装 jdk-8(配置Java环境)
Linux:离线安装 jdk-8(配置Java环境) 1、jdk简介2、检查已安装的Java版本,并卸载3、准备安装包4、解压安装包、进行安装5、设置环境变量(全局/个人) 💖The Begin💖点点关注,收藏不迷路…...
【DP】第十三届蓝桥杯省赛C++ B组《李白打酒加强版》(C++)
【题目描述】 话说大诗人李白,一生好饮。 幸好他从不开车。 一天,他提着酒壶,从家里出来,酒壶中有酒 2 斗。 他边走边唱: 无事街上走,提壶去打酒。 逢店加一倍,遇花喝一斗。 这一路上&am…...

数据结构试卷第九套
1.时间复杂度 2.树,森林,二叉树的转换 2.1树转二叉树 给所有的兄弟节点之间加一条连线;去线,只保留当前根节点与第一个叶子节点的连线,删除它与其他节点之间的连线;然后根据左孩子右兄弟进行调整…...

【Linux第三课-基础开发工具的使用】yum、vim、gcc/g++编译器、gdb、Make/Makefile编写、进度条程序、git命令行简单操作
目录 yum - 软件包管理器快速认识yum快速使用yumyum搜索yum安装yum卸载 yum的周边 - yum的整个生态问题 vim快速介绍vimvim的模式命令模式插入模式低行模式 常见模式 -- 命令、低行命令模式 -- 光标的移动命令模式 -- 复制粘贴、剪贴、删除命令模式 -- 小写/大写替换模式命令模…...

Redis:ClassCastException【bug】
Redis:ClassCastException【bug】 前言版权Redis:ClassCastException【bug】错误产生相关资源控制器:UserController("/user")配置:RedisConfiguration实体类:User数据表:User 解决 最后 前言 2…...
JSON 配置文件
JSON 配置文件的作用 JSON 是一种数据格式,在实际开发中, JSON 总是以配置文件的形式出现。小程序项目中也不例外:通过不同的 .json 配置文件,可以对小程序项目进行不同级别的配置。 小程序项目中有 4 种 json 配置文件࿰…...

由浅到深认识Java语言(6):控制流程语句
该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…...

lv17 安防监控项目实战 3
代码目录 框架 our_storage 编译最终生成的目标文件obj 编译生成中间的.o文件 data_global.c 公共资源定义(使用在外extern即可)定义了锁定义了条件变量消息队列id、共享内存id、信号量id及key值发送短信、接收短信的号码向消息队列发送消息的函数&am…...
文本处理基本方法
目录 分词 jieba 词性标注 😆😆😆感谢大家观看😆😆😆 分词 在中文文本中,由于词与词之间没有明显的界限符,如英文中的空格,因此分词是中文自然语言处理的一个基础且…...

Java面试题(Spring篇)
💟💟前言 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 Java面试题(Spring篇) 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页…...

操作系统:malloc与堆区内存管理
malloc是函数而不是系统调用,他的底层是同调调用brk和mmap这两个系统调用实现功能的,具体选择brk还是mmap要看申请的空间大小以及malloc中的阈值(一般是128kb) 注意申请的空间只有使用才会触发缺页中断映射到物理内存 不理解的话先…...

javaSwing推箱子游戏
一、简介 策略性游戏可以锻炼人的思维能力还能缓解人的压力,使人们暂时忘却生活当中的烦恼,增强人们的逻辑思维能力,游戏的艺术美也吸引着越来越多的玩家和厂商,寓教于乐,在放松人们心情的同时还可以活跃双手。在人类…...

JAVA多线程之JMM
文章目录 1. Java内存模型2. 内存交互3. 三大特性3.1 可见性3.1.1 可见性问题3.1.2 原因3.1.3 解决方法 3.2 原子性3.3 有序性 4. 指令重排5. JMM 与 happens-before5.1 happens-before关系定义5.2 happens-before 关系 在继续学习JUC之前,我们现在这里介绍一下Java…...

Windows10 专业版 系统激活
Windows10 专业版 系统激活 参考: Windows10系统激活技巧 第一步:在电脑桌面,新建一个文本文档 第二步:打开文本文档,输入以下代码后,直接保存关闭文档 slmgr/skms kms.03k.org slmgr/ato 第三步࿱…...
C#使用LINQ和EF Core
在实际应用中,您可以使用 LINQ 查询 EF Core 来执行各种数据库操作。通过 LINQ,您可以轻松地过滤、排序、分组和连接数据。 要使用LINQ查询EF Core中的数据,您可以按照以下步骤进行操作: 首先,确保您已经安装了 Entit…...

数字人解决方案— SadTalker语音驱动图像生成视频原理与源码部署
简介 随着数字人物概念的兴起和生成技术的不断发展,将照片中的人物与音频输入进行同步变得越来越容易。然而,目前仍存在一些问题,比如头部运动不自然、面部表情扭曲以及图片和视频中人物面部的差异等。为了解决这些问题,来自西安…...

HTML5语法总结
文章目录 一.HTML基本框架二.标题标签三.段落标签四.换行与水平线标签五.文本格式化标签(加粗、倾斜、下划线、删除线)六.图像标签扩展:相对路径,绝对路径与在线网址 七.超链接标签八.音频标签九.视频标签十.列表标签十一.表格标签扩展:表格结构标签合并…...

在github下载的神经网络项目,如何运行?
github网页上可获取的信息 在github上面,有一个requirements.txt文件,该文件说明了项目要求的python解释器的模块。 - 此外,还有一个README.md文件,用来说明项目的运行环境以及其他的信息。例如python解释器的版本是3.7、PyTorc…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇
根据 QYResearch 发布的市场报告显示,全球市场规模预计在 2031 年达到 9848 万美元,2025 - 2031 年期间年复合增长率(CAGR)为 3.7%。在竞争格局上,市场集中度较高,2024 年全球前十强厂商占据约 74.0% 的市场…...

react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...