Python数学建模-2.9Matplotlib库

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

1.Matplotlib的主要特点

  1. 丰富的图表类型:支持绘制线图、柱状图、散点图、饼图、等高线图、热力图、雷达图、三位曲线和曲面等多种类型的图表。
  2. 高度可定制性:允许用户通过调整各种参数来自定义图表的外观,包括线条样式、字体属性、轴属性、颜色、标签、图例等。
  3. 与NumPy等库的无缝集成:可以方便地使用NumPy等科学计算库的数据进行绘图。
  4. 交互式绘图:通过集成工具包(如Tkinter),可以创建交互式图表,允许用户与图表进行交互。
  5. 导出功能:可以将图表保存为多种格式的图片或PDF文件,方便分享和展示。

使用Matplotlib库进行绘图的基本步骤如下:

  1. 导入Matplotlib库:使用import matplotlib.pyplot as plt导入Matplotlib库。
  2. 准备数据:准备要绘制的数据,可以是NumPy数组、列表或其他数据类型。
  3. 创建图表:使用Matplotlib提供的函数创建图表,设置图表的类型、坐标轴范围等。
  4. 添加数据到图表:将准备好的数据添加到图表中,设置数据点的样式、颜色等。
  5. 定制图表外观:通过调整参数来自定义图表的外观,如添加标题、标签、图例等。
  6. 显示或保存图表:使用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 表示完全不透明)。
  • xscaleyscale:数据比例,可以是 '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:

已知某店铺商品的销售量如下表所列。请画出商品销售趋势图。

date1:钻石和铂金销售数据

月份1月2月3月4月5月6月
钻石销量/个131027333045
铂金销量/只1107262025

解:

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:

画出三维曲线x=s^{_2{}}sins,y=s^{_2{}}coss,z=s(s\in [-50,50])的图形。

解:

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: 

画出三维曲面图z=50sin(x+y))

解:

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: 

画出三维表面图z=sin(\sqrt{x^2+y^2})

解:

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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/474624.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI程序员已诞生,如何保住自己饭碗?

一、背景 全球首位AI程序员Devin的诞生无疑引发了业界对职业前景和人工智能影响的热烈讨论。AI程序员的出现确实预示着人工智能技术在编程领域的重大突破&#xff0c;它们能够进行自主学习、修复bug、掌握全栈技能&#xff0c;并且在特定场景下展现出了替代部分人类程序员工作…

Redis 更新开源许可证 - 不再支持云供应商提供商业化的 Redis

原文&#xff1a;Rowan Trollope - 2024.03.20 未来的 Redis 版本将继续在 RSALv2 和 SSPLv1 双许可证下提供源代码的免费和宽松使用&#xff1b;这些版本将整合先前仅在 Redis Stack 中可用的高级数据类型和处理引擎。 从今天开始&#xff0c;所有未来的 Redis 版本都将以开…

JetPack之LiveData

目录 一、LiveData简介1.1 LiveData是什么&#xff1f; 二、LiveData使用2.1 LiveData基础使用2.2 LiveData搭配Service模拟后台消息2.3 LiveData在组件中的数据传递 三、LiveData应用场景 一、LiveData简介 1.1 LiveData是什么&#xff1f; LiveData是一种可观察的数据存储器…

这里是一本关于 DevOps 企业级 CI/CD 实战的书籍...

文章目录 &#x1f4cb; 前言&#x1f3af; 什么是 DevOps&#x1f3af; 什么是 CI/CD&#x1f3af;什么是 Jenkins&#x1f9e9; Jenkins 简单案例 &#x1f3af; DevOps 企业级实战书籍推荐&#x1f525; 参与方式 &#x1f4cb; 前言 企业级 CI/CD 实战是一个涉及到软件开发…

语音神经科学—05. Human cortical encoding of pitch in tonal and non-tonal languages

Human cortical encoding of pitch in tonal and non-tonal languages&#xff08;在音调语音和非音调语言中人类大脑皮层的音高编码&#xff09; 专业术语 tonal language 音调语言 pitch 音高 lexical tone 词汇音调 anatomical properties 解刨学特性 temporal lobe 颞叶 s…

开源Thinkphp核心在线网页音乐播放php源码,附带系统搭建教程

安装教程 环境要求&#xff1a;apachePHP7.0Thinkphp伪静态 安装教程&#xff1a;修改Application目录下的database.php信息 导入根目录下的install.sql到数据库 修改Static目录下的player目录下的player.js文件的第140行的“域名”为你的域名 修改Static目录下的player2目录下…

四川易点慧电子商务抖音小店:安全可靠,购物新选择

在数字化浪潮席卷全球的今天&#xff0c;电子商务已成为人们日常生活中不可或缺的一部分。四川易点慧电子商务抖音小店&#xff0c;作为新兴的电商力量&#xff0c;以其安全可靠的特点&#xff0c;赢得了广大消费者的信赖和喜爱。 一、品牌信誉&#xff0c;品质保障 四川易点慧…

【MySQL】数据库的基础概念

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习计网、mysql和算法 ✈️专栏&#xff1a;MySQL学习 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…

Jackson 2.x 系列【4】对象映射器 ObjectMapper

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jackson-demo 文章目录 1. 概述2. 案例演示2.1 创建对象2.2 写入2.3 读取 3. 泛型擦除 1. 概述 在前两篇…

【漏洞复现】5. Fastjson 1.2.24反序列化漏洞(CVE-2017-18349)复现

文章目录 1. 预备知识2. 漏洞复现2.1 漏洞介绍2.2 漏洞原理分析2.2.1 Fastjson序列化/反序列化原理2.2.2 Fastjson反序列化漏洞原理 2.3 实验环境2.3.1 靶场搭建 2.3.2 攻击机配置2.3.3 Java反序列化工具marshalsec&#xff1a;2.4 漏洞复现2.4.1 漏洞探测 2.5 漏洞修复 1. 预备…

中央空调的计费方式

中央空调如何计费 电费计量型中央空调计费方法 计费原理:电费计量型就是通过计量空调末端的用电量&#xff0c;再根据用电量换算为冷量&#xff0c;统计中央空调系统中各用户的总冷量&#xff0c;再根据各用户的冷量比例来分摊费用。 优点: 电量参数容易计量&#xff0c;管理…

白话transformer(五):位置编码

在前面其实讲过位置编码的完整内容&#xff0c;这次我们具体看看他的数学原理 B站视频讲解 白话transformer&#xff08;五&#xff09; 1、位置编码的位置 根据原论文的结构图我们可以看到&#xff0c;位置编码位于embedding后&#xff0c;在正式进入注意力机制前面。 也就是…

【二叉树】算法例题

目录 九、二叉树 68. 二叉树的最大深度 ① 69. 相同的树 ① √ 70. 翻转二叉树 ① 71. 对称二叉树 ① 72. 从前序与中序遍历序列构造二叉树 ② 73. 从中序与后续遍历序列构造二叉树 ② 74. 填充每个节点的下一个右侧节点指针 II ② 75. 二叉树展开为链表 ② 76.…

蓝牙耳机品牌排行榜前十名,选购硬核机型,避免不必要的开销!

在现代社会&#xff0c;蓝牙耳机正逐渐取代传统有线耳机&#xff0c;成为主流的选择。尽管市场竞争激烈&#xff0c;但找到一款适合自己的蓝牙耳机并非易事。我在这里为你推荐几款我认为值得信赖的蓝牙耳机&#xff0c;希望能助你一臂之力&#xff0c;找到最适合你的那一款。 一…

一文读懂MES和ERP的区别

MES&#xff08;Manufacturing Execution System&#xff09;系统是制造执行系统&#xff0c;位于上层的计划管理系统与生产过程的直接工业控制系统之间&#xff0c;是面向车间层的管理信息系统&#xff0c;能够对整个车间制造过程进行优化&#xff0c;实时收集生产过程中的数据…

天翼云研发告诉我:AH封装的IPsec不能穿越NAT设备

正文共&#xff1a;1333 字 14 图&#xff0c;预估阅读时间&#xff1a;2 分钟 最近跟中国电信做VPN的研发交流了一下技术&#xff0c;发现技术爱好者跟研发之间的差距还是很明显的。 问题是我在配置天翼云的IPsec VPN连接时&#xff0c;发现IPsec策略的传输协议只有ESP协议可选…

YOLOv9改进策略:ECVBlock即插即用的多尺度融合模块,助力小目标涨点 | 顶刊TIP 2023 CFPNet

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a;ECVBlock即插即用的多尺度融合模块&#xff0c;助力检测任务有效涨点&#xff01; yolov9-c-EVCBlock summary: 1011 layers, 68102630 parameters, 68102598 gradients, 252.4 GFLOPs 改进结构图如下&#x…

Centos7没有可用软件包 ifconfig问题解决

问题描述 在Centos7中查看ip没有ifconfig&#xff0c;使用yum安装ifconfig报错没有可用软件包 ifconfig问题解决 [rootlocalhost etc]# yum -y install ifconfig 已加载插件&#xff1a;fastestmirror base …

外贸网站常用的wordpress模板

零件配件WordPress外贸建站模板 汽车行业零配件WordPress外贸建站模板&#xff0c;卖配件、零件的外贸公司可以使用的WordPress主题。 https://www.jianzhanpress.com/?p4912 WordPress外贸独立站主题 简洁实用的WordPress外贸独立站主题&#xff0c;适合时尚服装行业搭建w…

酷开系统用电视为居家生活打开精彩窗口|酷开科技|酷开会员|

随着互联网的发展&#xff0c;电视也承载了更多的功能。相比于传统的电视&#xff0c;如今的智能电视屏幕更大、分辨率更高、色彩更加鲜艳&#xff0c;能够呈现出更加逼真的画面效果。当观众观看大屏电视时&#xff0c;仿佛置身于电影大幕的场景之中&#xff0c;感受到更为震撼…