当前位置: 首页 > news >正文

深入了解Figure的结构与层次

深入了解Figure的结构与层次

    • 一 Matplotlib中的Figure
      • 1.1 Figure的概念和作用:
      • 1.2.创建Figure对象:
      • 1.3 Figure的属性和方法:
    • 二 子图(Axes)的角色与创建
      • 2.1 子图(Axes)的概念:
      • 2.2 创建子图的方法:
      • 2.3 Axes的属性和方法:
    • 三 坐标轴(Axis)的重要性与设置
      • 3.1 坐标轴(Axis)的重要性与作用:
    • **四 标题与图例**
      • 4.1 Figure 标题与图例的添加:
      • 4.2 图例的作用及创建:
      • 4.3 在整个图形和子图中添加标题和图例:
    • 五 代码示例
      • 5.1 代码分析
      • 5.2 完整代码
    • 六 层次关系的理解
      • 6.1各个组件的关系
      • 6.2 层次关系的重要性
      • 6.3 类比
    • 七 总结与展望

当我们使用Matplotlib进行数据可视化时,了解图形的结构与层次是十分重要的。在Matplotlib中,Figure是整个图形的最顶层容器,它包含了多个子图(Axes),而每个子图则包含了坐标轴(Axis)、标题、图例等组件。本文将深入探讨Matplotlib中Figure的结构与层次,以帮助读者更好地理解和使用Matplotlib进行数据可视化。

一 Matplotlib中的Figure

1.1 Figure的概念和作用:

在Matplotlib中,Figure是整个图形的最顶层容器。它可以看作是一个画布或者容器,用于承载图表的各种元素,如子图(Axes)、标题、图例等。Figure的主要作用是提供一个空白的画布,让用户可以在上面添加不同的绘图元素,从而创建数据可视化图表。

1.2.创建Figure对象:

创建Figure对象是创建Matplotlib图表的第一步。有几种方式可以实现:

  1. 使用plt.figure()函数:
import matplotlib.pyplot as pltfig = plt.figure()

这样就创建了一个默认大小的Figure对象。

  1. 使用plt.subplots()函数:
import matplotlib.pyplot as pltfig, ax = plt.subplots()

这种方式创建了一个包含一个子图(Axes)的Figure对象,同时返回了该子图的引用。

1.3 Figure的属性和方法:

属性:

figsize: 设置图形的大小,以元组(width, height)表示。
dpi: 设置图形的分辨率,每英寸点数。
facecolor:
设置图形的背景色。
edgecolor: 设置图形的边框颜色。

示例:

import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4, 2), dpi=100, 
facecolor='red', edgecolor='green')
fig.set_linewidth(4)
ax = fig.add_subplot(111)
plt.show()

运行结果:
在这里插入图片描述
在这段代码中,我们使用Matplotlib库创建一个大小为4x2英寸、分辨率为100dpi的图形,背景颜色为红色,边框颜色为绿色,并设置边框线宽为4。随后,在该图形中添加一个默认占据整个区域的子图,最终通过plt.show()展示出创建的图形。

方法:

add_subplot(): 在Figure上添加子图,返回Axes对象。

subplots(): 创建包含多个子图的Figure,返回Figure对象和Axes对象的数组。

savefig(): 将图形保存为文件。

show(): 显示图形。

示例:

import matplotlib.pyplot as plt
fig = plt.figure(figsize = (4,2))
ax = fig.add_subplot(111)
ax.plot([1, 2, 3], [4, 5, 6])
plt.show()

运行结果:

在这里插入图片描述

Figure作为整个图形的容器,其属性和方法的灵活运用能够帮助用户更好地控制图表的外观和行为。通过了解和使用这些属性和方法,可以实现对图形的定制化,满足不同需求的数据可视化。

二 子图(Axes)的角色与创建

2.1 子图(Axes)的概念:

在Matplotlib中,子图(Axes)是Figure中的一个独立区域,用于绘制具体的图表内容,如折线图、散点图、柱状图等。每个子图都有自己的坐标系,可以在其上面绘制各种数据可视化图表。一个Figure可以包含多个子图,每个子图可以根据需要进行布局和定制。

2.2 创建子图的方法:

  1. 使用add_subplot()方法:
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(4, 2))
ax = fig.add_subplot(111)  # 1行1列的第一个子图
plt.show()

运行结果如下:
在这里插入图片描述

  1. 使用plt.subplots()函数:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(4, 2))  # 创建包含一个子图的Figure对象,并返回Figure和Axes对象
plt.show()

运行结果:
在这里插入图片描述

add_subplot()方法允许你在Figure上指定子图的位置和布局,参数可以是三个整数,分别代表行数、列数和子图的索引(从左上角开始数),也可以是一个三位数的整数,将它们拆分成行数、列数和子图索引。而plt.subplots()函数则是一个更简洁的方式,它会自动创建一个包含一个子图的Figure对象,并返回该对象的引用。

2.3 Axes的属性和方法:

属性:

title: 子图的标题。

xlabel、ylabel: X轴和Y轴的标签。

xlim、ylim: X轴和Y轴的范围。

legend: 图例。

grid: 网格显示。

方法:

plot(): 绘制折线图。

scatter(): 绘制散点图。

bar(): 绘制柱状图。

hist(): 绘制直方图。

imshow(): 显示图像。

这些属性和方法可以通过Axes对象来访问和调用,通过设置属性和调用方法,可以实现对子图的各种定制和绘制。

综上所述,子图(Axes)作为Figure中的组成部分,承载了具体的数据可视化图表,通过不同的创建方式和调用方法,可以实现对子图的布局、样式和内容的定制。

三 坐标轴(Axis)的重要性与设置

3.1 坐标轴(Axis)的重要性与作用:

在Matplotlib中,坐标轴(Axis)是Axes对象中的一部分,负责显示数据范围、刻度、标签以及网格等内容。每个Axes对象通常包含两个水平轴(X轴)和两个垂直轴(Y轴),它们共同构成了数据的可视化表现空间。坐标轴的作用在于提供了数据的视觉参照系,使得数据可视化更直观、易于理解。

3.2 绘图函数创建数据时的坐标轴自动创建:

当使用绘图函数(如plot())创建数据时,Matplotlib会自动在当前的Axes对象上创建相应的坐标轴。例如:

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]# 绘制折线图
plt.plot(x, y)plt.show()

运行结果:
在这里插入图片描述

在这个例子中,当调用plot()函数时,Matplotlib会自动在当前的Axes对象上创建X轴和Y轴,并根据提供的数据自动设置坐标轴的范围和刻度。

3.3 Axis的属性和方法:

属性:

label: 坐标轴的标签。

limits: 坐标轴的范围。

ticks: 刻度位置。

ticklabels: 刻度标签。

grid:网格显示。

方法:

set_label(): 设置坐标轴标签。

set_limits(): 设置坐标轴范围。

set_ticks(): 设置刻度位置。

set_ticklabels(): 设置刻度标签。

grid(): 控制网格显示。

这些属性和方法可以用于定制坐标轴的外观和行为,使得图表更符合需求和审美。例如,可以通过set_label()设置坐标轴的标签,通过set_limits()设置坐标轴的范围,通过set_ticks()和set_ticklabels()设置刻度位置和标签内容,通过grid()方法控制网格显示。

综上所述,坐标轴(Axis)作为Axes对象的一部分,起着显示数据范围、刻度和标签等信息的重要作用。通过合理设置坐标轴的属性和方法,可以使得数据可视化图表更加清晰、直观。

四 标题与图例

4.1 Figure 标题与图例的添加:

标题的作用及设置:

图表的标题是用来简要描述图表内容的文本,它有助于观众快速理解图表的主题。在Matplotlib中,可以使用set_title()方法为图表添加标题。

示例:

import matplotlib.pyplot as plt
# 创建数据
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 绘制折线图
plt.plot(x, y)
# 设置标题
plt.title("zhe xian tu ")
plt.show()

结果如下:
在这里插入图片描述

4.2 图例的作用及创建:

图例是用于标识不同数据系列的元素,当图表中包含多个数据系列时,图例能够清晰地展示每个系列对应的含义。在Matplotlib中,可以使用legend()方法创建图例。

示例:

import matplotlib.pyplot as plt# 创建数据
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 2, 1, 2, 1]# 绘制折线图
plt.plot(x, y1, label='data1')
plt.plot(x, y2, label='data2')# 添加图例
plt.legend()plt.show()

运行结果:
在这里插入图片描述

4.3 在整个图形和子图中添加标题和图例:

在包含多个子图的图形中,可以通过figure对象的方法为整个图形添加标题,同时使用legend()方法为每个子图添加图例。

示例:

import matplotlib.pyplot as plt
import numpy as np# 创建数据
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)# 创建图形和子图
fig, axs = plt.subplots(2)# 在子图中绘制折线图
axs[0].plot(x, y1, label='sin')
axs[1].plot(x, y2, label='cos')# 为整个图形添加标题
fig.suptitle('sin and cos')# 在每个子图中添加图例
axs[0].legend()
axs[1].legend()plt.show()

运行结果:
在这里插入图片描述

在这个例子中,suptitle()方法用于为整个图形添加标题,而在每个子图中使用legend()方法为子图添加图例。这样,整个图形就包含了标题和每个子图的图例。

五 代码示例

5.1 代码分析

  1. 导入库:
import matplotlib.pyplot as plt
import numpy as np

首先导入Matplotlib库和NumPy库,用于图形绘制和数据生成。

  1. 创建Figure对象:
fig = plt.figure(figsize=(7, 5))

使用plt.figure()函数创建一个Figure对象,指定图形的大小为7x5英寸。Figure对象是Matplotlib图形的顶层容器。

  1. 添加子图:
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)

使用add_subplot()方法在Figure对象中添加子图。这里创建了一个2x2的子图网格,并分别在第1、2、3、4个位置添加了子图。ax1、ax2、ax3和ax4分别是对应位置的子图对象。

  1. 生成示例数据:
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

使用NumPy生成一些示例数据。这里生成了一个包含100个点的x坐标,以及对应的sin(x)和cos(x)的y坐标。

  1. 在子图上绘制内容:
ax1.plot(x, y1, label='sin(x)')
ax1.set_title('Sine Function')
ax1.legend()ax2.plot(x, y2, label='cos(x)', color='orange')
ax2.set_title('Cosine Function')
ax2.legend()ax3.scatter(x, y1, color='green', marker='o')
ax3.set_title('Scatter Plot')ax4.hist(np.random.randn(1000), bins=30, color='purple', alpha=0.7)
ax4.set_title('Histogram')

在每个子图上绘制不同的内容:

ax1绘制sin(x)的折线图,并添加标题和图例。

ax2绘制cos(x)的折线图,指定颜色为橙色,并添加标题和图例。

ax3绘制sin(x)的散点图,并添加标题。

ax4绘制随机数据的直方图,并添加标题。

  1. 设置整个图形的标题:
fig.suptitle('Matplotlib Example')

使用fig.suptitle()方法为整个图形添加标题。

  1. 调整布局:
plt.tight_layout()

使用plt.tight_layout()方法调整布局,防止子图重叠。

  1. 显示图形:
plt.show()

最后,使用plt.show()显示图形。

这个例子演示了如何使用Matplotlib创建一个包含子图、标题和图例的复杂图形。根据需要,你可以修改数据和样式,以及添加更多的图形元素。Matplotlib提供了丰富的功能,可以满足各种可视化需求。

运行结果:
在这里插入图片描述

5.2 完整代码

import matplotlib.pyplot as plt
import numpy as np# 创建一个Figure对象
fig = plt.figure(figsize=(7, 5))# 添加子图
ax1 = fig.add_subplot(2, 2, 1)
ax2 = fig.add_subplot(2, 2, 2)
ax3 = fig.add_subplot(2, 2, 3)
ax4 = fig.add_subplot(2, 2, 4)# 生成一些示例数据
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)# 在每个子图上绘制不同的内容
ax1.plot(x, y1, label='sin(x)')
ax1.set_title('Sine Function')
ax1.legend()ax2.plot(x, y2, label='cos(x)', color='orange')
ax2.set_title('Cosine Function')
ax2.legend()ax3.scatter(x, y1, color='green', marker='o')
ax3.set_title('Scatter Plot')ax4.hist(np.random.randn(1000), bins=30, color='purple', alpha=0.7)
ax4.set_title('Histogram')# 设置整个图形的标题
fig.suptitle('Matplotlib Example')# 调整布局,防止子图重叠
plt.tight_layout()# 显示图形
plt.show()

六 层次关系的理解

6.1各个组件的关系

  1. Figure 和 Axes:

Figure是整个图形的最外层容器,可以包含一个或多个Axes。 Axes是子图,位于Figure内部,负责具体的数据可视化。

  1. Figure 和 标题:

虽然在Figure中可以包含多个Axes,但标题通常是直接与整个Figure关联的。标题提供了对整体图形的描述,是对所有子图内容的概括。

  1. Axes 和 Axis:

Axes包含两个Axis对象,分别是X轴和Y轴。这两个轴控制数据的范围、刻度和标签。
Axis是Axes的组成部分,负责显示坐标轴上的刻度和标签。

  1. Axes 和 标题:

Axes对象上方可以有一个或多个标题,用于描述该子图的内容。 标题是直接与Axes关联的,提供整体信息。

  1. Axes 和 图例:

图例通常与Axes关联,用于标识不同的数据系列。 可以通过Axes的方法添加图例,使得图例与数据可视化元素相关联。

它们层次关系总结如下:

Figure(整体图形)包含多个Axes(子图)和一个总标题。

每个Axes包含两个Axis(X轴和Y轴)。

在Axes上方可以有标题,用于描述该子图的内容。

图例通常与Axes关联,用于标识数据系列。

通过在一个Figure中包含多个Axes,可以创建多个子图,实现灵活的布局。

也可以在整个Figure上设置样式,也可以在每个Axes上独立设置样式,实现细粒度的定制。

6.2 层次关系的重要性

布局控制:
通过理解Figure和Axes的关系,可以更灵活地控制图形的布局。一个Figure中可以包含不同的子图,每个子图可以有不同的坐标轴和数据可视化元素。

样式定制:
理解层次关系使得可以更容易地定制图形的样式。可以针对Figure设置整体样式,也可以在每个Axes上独立设置样式,实现更细粒度的定制。

数据组织:
Figure和Axes的层次结构使得可以更好地组织和呈现数据。每个子图可以专注于不同方面的数据展示,同时在整个图形中形成统一的视觉效果。

交互性增强: 理解层次关系有助于实现更丰富的交互性。可以通过对特定的Axes进行操作,实现局部视图的变化,而不影响整个图形。

理解这些组件之间的层次关系使得用户能够更好地掌握Matplotlib的控制权,有助于创建更为复杂和具有层次结构的数据可视化。这种层次关系让用户能够更加精确地控制图形的各个组成部分,从而满足不同的可视化需求。

6.3 类比

假设你要画一幅包含两个子图的图表,每个子图都有自己的X轴和Y轴,以及标题和图例。我们可以通过以下类比来理解组件之间的层次关系:

Figure 和 Axes:
就像一张画板(Figure),你可以在上面画很多不同的图。这张画板上有两块子画布(Axes),每块子画布代表一个子图。

Axes 和 Axis:
每个子画布(Axes)上都有两条坐标轴(Axis),就像每个子图都有自己的X轴和Y轴。这些坐标轴负责显示数据的范围和刻度。

Axes 和标题:
每个子画布(Axes)上方有一个标题,就像每个子图都有自己的标题,用于描述该子图的内容。

Axes 和 图例:
如果每个子图都包含多个数据系列,你可能想要添加图例来标识它们。这就像在每个子画布上添加一个小标签,说明不同的数据系列。

具体例子:

假设你有一份关于销售数据的报告,其中包含两个子图,一个显示产品 A 的销售,另一个显示产品 B 的销售。

你可以把整个报告看作是一张画板(Figure)。 每个子图就是一块子画布(Axes),一个用于产品 A,另一个用于产品 B。

每个子图上都有自己的X轴和Y轴,分别表示时间和销售额。 每个子图上方有一个标题,例如,“产品 A 的销售趋势”和“产品 B 的销售趋势”。

如果产品 A 的子图中有多个线条表示不同渠道的销售,你可以在该子图上添加一个图例,说明每条线条的含义。

这个例子帮助说明了Figure、Axes、Axis、标题和图例之间的层次关系,使得你可以更好地理解它们在创建复杂数据可视化时的作用。

七 总结与展望

通过本文的介绍和讲解,我们深入了解了Matplotlib这一强大的Python绘图库,特别关注了其中Figure的结构与层次。数据可视化在今天的数据科学和分析中扮演着至关重要的角色,而Matplotlib作为常用的绘图工具,其灵活性和强大的定制功能使得用户能够创造出丰富多彩、有层次感的可视化效果。
在未来的数据可视化工作中,希望读者能够运用本文所介绍的知识,更加熟练地利用Matplotlib,创造出更具创意和影响力的数据可视化作品。通过不断学习、实践和探索,我们能够更好地应对数据科学的挑战,为更深层次的理解和决策提供有力支持。愿数据可视化之美在你的项目中绽放光彩!

相关文章:

深入了解Figure的结构与层次

深入了解Figure的结构与层次 一 Matplotlib中的Figure1.1 Figure的概念和作用:1.2.创建Figure对象:1.3 Figure的属性和方法: 二 子图(Axes)的角色与创建2.1 子图(Axes)的概念:2.2 创建子图的方法:2.3 Axes的…...

c语言基础6

1.逗号表达式 逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后⼀个表达式的结果。 我们来看下面的一个代码: int main() {int a 1;int b 2;int ret (a > b, a b 2, b, b a 1);p…...

kotlin sum 与 sumOf

kotlin 中 sum 的作用: 计算一个列表里面数字的总和: val numbers listOf(1, 2, 3, 4, 5) val sum numbers.sum() println("The sum is: $sum") // 打印结果: The sum is: 15 kotlin中sumOf的作用: 也是计算一个列表里面数字…...

php怎么输入一个变量,http常用的两种请求方式getpost(ctf基础)

php是网页脚本语言,网页一般支持两种提交变量的方式,即get和post get方式传参 直接在网页URL的后面写上【?a1027】,如果有多个参数则用&符号连接, 如【?a10&b27】 post方式传参 需要借助插件,ctfer必备插…...

Spring Boot 项目配置文件

文章目录 配置文件的作用properties基本语法读取文件信息缺点 yml基本语法优点配置不同数据类型字符串类型的写法 配置对象配置集合 读取配置文件的几种方法EnvironmentPropertySource使用原生方式读取 设置不同环境的配置文件 配置文件的作用 整个项目中重要的数据都是在配置…...

学校“数据结构”课程Project—扩展功能(自主设计)

目录 一、设想功能描述 想法缘起 目标功能 二、问题抽象 三、算法设计和优化 1. 易想的朴素搜索 / dp 搜索想法 动态规划(dp)想法 2. 思考与优化 四、算法实现 五、结果示例 附:使用的地图API 一、设想功能描述 想法缘起 OSM 导出…...

从0开始搭建若依微服务项目 RuoYi-Cloud(保姆式教程 一)

掌握陌生项目解读技巧 掌握若依(RuoYi-Cloud)框架 掌握SpringCloud Alibaba体系项目开发套路,结合我之前所有企业项目来学习就知道有多么简单。 一、框架介绍 1. 简介 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空…...

【Chrome】浏览器怎么清除缓存并强制刷新

文章目录 1、正常刷新:正常刷新网页,网页有缓存则采用缓存。 F5 或 刷新键2、强制刷新:忽略缓存刷新,重新下载资源不用缓存。 CtrlF5 或 ShiftF5 或 CtrlShiftR3、在浏览器的设置里面清除所有数据...

Android创建保存Excel文件

Android开发生成保存Excel文件,首先下载两个jar包。下载地址:Android读写Excel文件的两个jar包资源-CSDN文库 poi-3.12-android-a.jar poi-ooxml-schemas-3.12-20150511-a.jar 把jar包放在app的libs文件夹下,引用jar我一般都在build.gradle的…...

Selenium + Django + Echarts 实现亚马逊商品数据可视化爬虫项目

最近完成了1个爬虫项目,记录一下自己的心得。 项目功能简介 根据用户输入商品名称、类别名称,使用Selenium, BS4等技术每天定时抓取亚马逊商品数据,使用Pandas进行数据清洗后保存在MySql数据库中. 使用Django提供用户端功能,显…...

【深度学习】初识深度学习

初识深度学习 什么是深度学习 关系: #mermaid-svg-7QyNQ1BBaD6vmMVi {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-7QyNQ1BBaD6vmMVi .error-icon{fill:#552222;}#mermaid-svg-7QyNQ1BBaD6vmMVi .err…...

探索 Xind3 生态系统,解锁铭文资产的新玩法

铭文市场的兴起,不仅是新资产发行方案向市场的代表,更是新资产革命的代表。通过“公平启动”的方式,任何人都可以按照先到先得的原则“铸造”资产。虽然这看起来是意识形态上的新升级,但实际上最火的铭文风潮是由CEX引发的。 我们…...

js有哪些内置对象?

在 JavaScript 中,内置对象可以分为三类:原始值的包装对象、构造函数和其他对象。这里列举一些常见的内置对象及其方法: 原始值的包装对象: String:字符串类型的包装对象,有 charAt、concat、indexOf、repl…...

拦截器的简单使用

拦截器的简单使用 拦截器的使用创建拦截器preHandle 目标方法执行前执行postHandle 目标方法执行后执行afterCompletion 视图渲染后执行 拦截器使用场景返回值注册拦截器运用拦截器 拦截器的使用 创建拦截器 首先,我们需要创建一个拦截器器的类,并且需要继承自HandlerIntercep…...

【gmsh源码阅读】OCC对象绑定tag及获取几何与网格映射关系

一、Tag是什么? gmsh中的几何模型相对于OCC的模型增加了id编号,也叫tag,在gmsh中可以显示出来。在gmsh中,点、线、面、体都有Tag,以方便对其查找定位查找。在OCC中TopoDS_Shape只有几何与拓扑结构,没有唯一…...

【RTP】webrtc 学习3: webrtc对h264的rtp解包

rtp_rtcp\source\video_rtp_depacketizer_h264.cc【RTP】webrtc 学习2: webrtc对h264的rtp打包 中分析了打包过程的代码,这样再来看解析过程的源码就容易多了:本代码主要基于m79,m98类似。这里注明了jitterbuffer 会再次 做 解析stap-a 变为NAL units解析ParseFuaNalu 第一…...

幻兽帕鲁服务器多少钱?4核16G支持32人在线吗?

4核16G服务器是幻兽帕鲁Palworld推荐的配置,阿里云和腾讯云均推出针对幻兽帕鲁的4核16G服务器,阿里云4核16G幻兽帕鲁专属服务器32元1个月、66元3个月,腾讯云4核16G14M服务器66元1个月、277元3个月、1584元一年。云服务器吧yunfuwuqiba.com分享…...

AD/DA(模数数模转换)

文章目录 前言一、介绍部分介绍AD/DA硬件电路模型硬件电路ADC模块DAC模块ADC0809DAC0832 运算放大器(运放)运放电路 DA原理两种不同的DA转换器 AD原理部分AD/DA性能指标XPT2046介绍主要功能XPT2046时序结构控制字节解释单端模式配置表 二、实例使用AD读取…...

Docker数据卷挂载(以容器化Mysql为例)

数据卷 数据卷是一个虚拟目录,是容器内目录与****之间映射的桥梁 在执行docker run命令时,使用**-v 本地目录:容器目录**可以完成本地目录挂载 eg.Mysql容器的数据挂载 1.在根目录root下创建目录mysql及三个子目录: cd ~ pwd m…...

YOLOv8-Seg改进:注意力系列篇 | non-local自注意力,助力小目标分割

🚀🚀🚀本文改进:non-local自注意力,助力小目标分割 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1)手把手教你如何训练YOLOv8-seg; 2)模型创新,提升分割性能; 3)独家自研模块助力分割;…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...