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

Python----数据分析(Matplotlib四:Figure的用法,创建Figure对象,常用的Figure对象的方法)

一、Figure的用法

        在 Matplotlib 中, Figure对象是整个绘图的顶级容器,它是所有绘图元素的基础, 提供了一个用于绘制图形的画布空间。

        在 Matplotlib 中, Axes对象是进行数据绘制和设置坐标轴等操作的核心区域,它与 Figure对象紧密相关,共同构建了完整的绘图体系。

创建Figure对象和 Axes:

1、隐式创建:当直接调用绘图函数(如plt.plot())而没有预先创建 Figure 对象时,Matplotlib 会自动隐式创建一个Figure对象和一个Axes对象。

2、显式创建:使用函数来手动创建一个 Figure对象。

二、创建Figure对象

2.1、figure

        在Matplotlib 中, figure 函数用于创建一个新的图形窗口,或者获取当前活跃的图 形窗口。每个图形窗口可以包含一个或多个坐标轴(Axes),可以在其上绘制数 据。

plt.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, clear=False, **kwargs)
名称描述
num可选参数,指定图形窗口的编号或名称。如果 num 为 新的图形窗口。如果 None,则创建一个 num 已经存在,则获取该图形窗口。
figsize可选参数,指定图形窗口的大小,以英寸为单位。默认为None,使用 Matplotlib 的默认值。
dpi可选参数,指定图形的分辨率,以点每英寸为单位。默认为 None,使用 Matplotlib 的默认值。
facecolor可选参数,指定图形窗口的背景颜色。默认None,使用为 Matplotlib 的默认值。
edgecolor可选参数,指定图形窗口的边缘颜色。默认为 None,使用 Matplotlib 的默认值。
frameon可选参数,布尔值,指定是否绘制图形窗口的边框。默认为True
clear可选参数,布尔值,指定是否清除图形窗口中的内容。默认为False
**kwargs其他关键字参数,用于进一步自定义图形窗口的属性。
import matplotlib.pyplot as pltplt.plot([0, 1], [1, 2])
fig = plt.figure(num=1, clear=True)
plt.plot([0, 1], [2, 3])plt.show()

 

2.2、subplots

        在Matplotlib中, subplots用于创建包含多个子图(subplot)的图形。这允许你在 同一个 Figure 对象内组织多个图表,从而方便地比较数据或者展示多方面的信息。

fig, axs = matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, width_ratios=None, height_ratios=None, subplot_kw=None, gridspec_kw=None)
名称描述
nrows=1子图的行数,设置为1,表示创建一个子图的行。
ncols=1子图的列数,设置为1,表示创建一个子图的列。
sharex=False布尔值,设置为False,表示子图之间不共享x轴刻度。每个子图 都有自己的x轴。
sharey=False布尔值,设置为False,表示子图之间不共享y轴刻度。每个子图 都有自己的y轴。
squeeze=True布尔值,设置为True,表示如果只创建了一个子图,则返回一 个子图对象而不是一个只包含一个子图对象的数组。
width_ratios=None列宽比例的序列,设置为None表示默认比例。如果提供 序列,它将用于调整各列的宽度比例。
height_ratios=None行高比例的序列,设置为None表示默认比例。如果提供 序列,它将用于调整各行的高度比例。
subplot_kw=None字典,设置为None,表示没有额外的关键字参数传递给 add_subplot调用。如果需要,可以传递一个字典来设置子图的属性。
gridspec_kw=None字典,设置为None,表示没有额外的关键字参数传递给 GridSpec对象。如果需要,可以传递一个字典来控制子图的布局。
import numpy as np
import matplotlib.pyplot as plt# 创建数据
x = np.arange(-10, 10, 0.01)
y1 = np.sin(x) + 100
y2 = np.cos(x)
y3 = np.tan(x)
y4 = 1 / (1 + np.exp(-x))  # Sigmoid function# 创建一个 2x2 的子图网格
fig, axs = plt.subplots(2, 2)# 第一个子图
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Sine Wave')
axs[0, 0].set_xlabel('X-axis')
axs[0, 0].set_ylabel('Y-axis')# 第二个子图
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('Cosine Wave')
axs[0, 1].set_xlabel('X-axis')
axs[0, 1].set_ylabel('Y-axis')# 第三个子图
axs[1, 0].plot(x, y3)
axs[1, 0].set_title('Tangent Wave')
axs[1, 0].set_xlabel('X-axis')
axs[1, 0].set_ylabel('Y-axis')# 第四个子图
axs[1, 1].plot(x, y4)
axs[1, 1].set_title('Sigmoid Function')
axs[1, 1].set_xlabel('X-axis')
axs[1, 1].set_ylabel('Y-axis')# 调整子图间距
plt.tight_layout()# 显示图形
plt.show()

 

三、常用的Figure对象的方法

3.1、add_subplot

fig.add_subplot(nrows, ncols, plot_number)
名称描述
nrows子图的总行数。
ncols子图的总列数。
plot_number当前子图在其所在布局中的位置,从1开始计数,从左上角到右 下角。

该函数会返回一个 Axes 对象。 

import matplotlib.pyplot as plt# 创建一个图形窗口
fig = plt.figure()# 添加第一个子图,位于2行1列布局中的第1个位置
ax1 = fig.add_subplot(2, 1, 1)
ax1.plot([0, 1], [0, 1])
ax1.set_title('00')# 添加第二个子图,位于2行1列布局中的第2个位置
ax2 = fig.add_subplot(2, 1, 2)
ax2.plot([0, 1], [1, 0])
ax2.set_title('01')plt.tight_layout()# 显示图形
plt.show()

3.2、add_axes

        该函数允许你在图形( Figure)中的任意位置添加一个子图(Axes)。与subplots 或 add_subplot 不同,add_axes允许你精确地指定子图的位置和大小。

matplotlib.figure.Figure.add_axes(rect, **kwargs)
名称描述
rect一个形如 [左边界, 底边界, 宽度, 高度] 的列表,指定子图的位置和大 小。这些值是在归一化坐标中的,其中 0 表示图形的左边界,1 表示右边界,0 表示底部,1 表示顶部。
**kwargs其他可选的关键字参数,用于控制子图的属性。
import matplotlib.pyplot as plt# 创建一个图形
fig = plt.figure()# 添加一个子图,位置是图形左下角的1/4处,大小为图形宽度的1/2和高度的1/2
ax = fig.add_axes([0.5, 0.1, 0.5, 0.5])# 使用这个子图绘制一些数据
ax.plot([0, 1], [0, 1])# 显示图形
plt.show()

3.3、suptitle

        该函数用于在图形( Figure)上添加一个中心对齐的标题,这个标题位于所有子图 (Axes)的顶部。使用 suptitle 可以为整个图形设置一个总标题,而不仅仅是单 个子图。

matplotlib.figure.Figure.suptitle(t, **kwargs)
名称描述
t字符串,表示要添加的标题文本。
**kwargs其他可选的关键字参数,用于控制标题的样式,如字体大小 (fontsize)、颜色( color)等。
import matplotlib.pyplot as plt# 创建一个图形
fig = plt.figure()# 在图形上添加两个子图
ax1 = fig.add_subplot(121)  # 第一个子图,两行一列的第一个位置
ax2 = fig.add_subplot(122)  # 第二个子图,两行一列的第二个位置# 使用第一个子图绘制一些数据
ax1.plot([0, 1], [0, 1])
ax1.set_title('ax1')# 使用第二个子图绘制一些数据
ax2.plot([0, 1], [1, 0])
ax2.set_title('ax2')
# 为整个图形添加一个总标题
fig.suptitle('Test Suptitle', fontsize=16, color='red')# 显示图形
plt.show()

3.4、text

        该函数用于在图表的任意位置添加文本,通常在 的指定坐标位置上放置文本。

matplotlib.axes.Axes.text(x, y, s, **kwargs)
名称描述
x, y浮点数或数组,指定文本的位置坐标。
s字符串,要添加的文本内容。
**kwargs其他可选的关键字参数,用于控制文本的样式,如 体大小)、 color(颜色)、 fontsize(字 horizontalalignment(水平对齐方式,如 ‘left’, ‘center’, ‘right’)、 verticalalignment(垂直对齐方式,如 ‘top’, ‘center’, ‘bottom’)等。
import matplotlib.pyplot as plt# 创建一个图形和一个子图
fig, ax = plt.subplots()# 绘制一些数据
ax.plot([0, 1, 2], [0, 1, 0])# 在坐标 (1, 0.5) 处添加文本
ax.text(1, 0.5, 'Sample Text', fontsize=12, color='red',horizontalalignment='right', verticalalignment='top')# 显示图形
plt.show()

3.5、axes

        在 matplotlib中,如果你想要获取一个图形(Figure)中的所有轴(Axes )你可以査看 Figure 对象的 axes 属性。

import matplotlib.pyplot as plt# 创建一个图形和一个子图
fig, ax = plt.subplots(2, 2)# 获取图形中的所有轴
axes = fig.axes# axes 是一个包含所有轴的列表
for ax in axes:# 包含了每一个轴的x和y的相对位置(从左下角开始计算)、轴的宽度和高度(相对于整个图形)print(ax)# 显示图像
plt.show()

3.6、get_facecolor

        该函数是一个用于获取轴(Axes)或填充区域(Patch)背景色的方法。具体来说, 它返回一个表示颜色的 RGBA 元组,其中 RGBA 分别代表红色、绿色、蓝色和 alpha(透明度)值。这些值通常在 0 到 1 的范围内。

import matplotlib.pyplot as plt# 创建一个图形
fig = plt.figure(figsize=(8, 6), facecolor='blue')# 获取背景色
facecolor = fig.get_facecolor()
print(facecolor)# 显示图像
plt.show()

3.7、get_dpi

        该方法用于获取图形(Figure)对象的分辨率。

import matplotlib.pyplot as plt# 创建一个图形对象
fig = plt.figure(dpi=120)# 获取图形的DPI
dpi = fig.get_dpi()
print(f"The DPI of the figure is: {dpi}")# 显示图像
plt.show()

3.8、get_gca

        该函数是 “get current axis” 的缩写,它用于获取当前图形(figure)中的当前坐标 轴(axis)对象。这个函数非常有用,因为它允许你访问并修改当前活动的坐标轴的 属性。

import matplotlib.pyplot as plt# 创建一个图形和坐标轴
plt.figure()
plt.plot([1, 2, 3], [1, 2, 3])# 获取当前坐标轴
ax = plt.gca()# 使用坐标轴对象进行自定义
ax.set_title('Sample Plot')
ax.set_xlabel('X axis')
ax.set_ylabel('Y axis')# 显示图形
plt.show()

 

3.9、get_label

        该方法用于获取坐标轴(例如,线和柱状图)的标签。这个方法通常用于获取已经设 置好的标签,以便于后续的检查或修改。

import matplotlib.pyplot as plt# 创建一些数据
x = [1, 2, 3]
y = [1, 2, 3]# 绘制线图并设置标签
line, = plt.plot(x, y, label='Line 1')# 获取线的标签
label = line.get_label()
print('Label of the line:', label)# 显示图形和图例
plt.legend()
plt.show()

3.10、get_size_inches

        该方法用于获取图形的大小,以英寸为单位。

import matplotlib.pyplot as plt# 创建一个图形对象,可以指定大小(宽度,高度)单位为英寸
fig = plt.figure(figsize=(8.0, 6.0))# 使用 get_size_inches() 方法获取图形的大小
size_in_inches = fig.get_size_inches()
print('Size of the figure in inches:', size_in_inches)# 绘制一些数据
plt.plot([1, 2, 3], [1, 2, 3])# 显示图形
plt.show()

3.11、set_size_inches

        该方法用于设置图形对象的大小,单位为英寸。这个方法允许用户在创建图形后改变 其尺寸,从而影响输出图像的分辨率和显示效果。

matplotlib.figure.Figure.set_size_inches(width, height, forward=True)
名称描述
width, height浮点数,指定图形的宽度和高度,单位为英寸。
forward布尔值,默认为 True。如果为 True,则在调整图形大小时,同时 更新所有子图的大小和位置。如果为 False,则仅改变图形的大小,而不更新子 图。
import matplotlib.pyplot as plt# 创建一个图形对象
fig = plt.figure(figsize=(2, 2))# 使用 set_size_inches 方法设置图形的大小
fig.set_size_inches(10, 6)  # 设置宽度为10英寸,高度为6英寸# 绘制一些数据
plt.plot([1, 2, 3], [1, 2, 3])# 显示图形
plt.show()

3.12、set_dpi

        该方法用于设置图形对象的分辨率,单位为每英寸点数(Dots Per Inch, DPI)。这 个方法影响输出图像的质量和文件大小,通常与 精确控制图形的尺寸和输出质量。        

matplotlib.figure.Figure.set_dpi(dpi)
名称描述
dpi一个浮点数或整数,指定图形的分辨率,即每英寸的点数。
import matplotlib.pyplot as plt# 创建一个图形对象
fig, ax = plt.subplots()# 设置图形的尺寸为 6x4 英寸
fig.set_size_inches(10, 6)# 使用 set_dpi 方法设置图形的分辨率
fig.set_dpi(200)  # 设置分辨率为 100 DPI# 绘制一些数据
ax.plot([1, 2, 3], [1, 2, 3])print(fig.get_size_inches())
print(fig.get_dpi())# 显示图形
plt.show()

3.13、tight_layout

        该函数用于自动调整子图参数,使之填充整个图像区域,同时确保子图之间的标签和 标题不会重叠。这个方法对于创建布局整齐的图形非常有用,尤其是在子图较多或标 签较长时。

import matplotlib.pyplot as plt# 创建一个包含多个子图的图形
fig, axs = plt.subplots(2, 2)# 在每个子图中绘制一些数据
axs[0, 0].plot([1, 2, 3], [1, 2, 3])
axs[0, 0].set_title('00')
axs[0, 0].set_xlabel('x')
axs[0, 0].set_ylabel('y')axs[0, 1].plot([1, 2, 3], [3, 2, 1])
axs[0, 1].set_title('01')
axs[0, 1].set_xlabel('x')
axs[0, 1].set_ylabel('y')axs[1, 0].plot([1, 2, 3], [1, 3, 2])
axs[1, 0].set_title('10')
axs[1, 0].set_xlabel('x')
axs[1, 0].set_ylabel('y')axs[1, 1].plot([1, 2, 3], [2, 1, 3])
axs[1, 1].set_title('11')
axs[1, 1].set_xlabel('x')
axs[1, 1].set_ylabel('y')# 使用 tight_layout 自动调整子图布局
plt.tight_layout()# 显示图形
plt.show()

3.14、subplots_adjust

        该函数允许用户手动调整子图之间的空间,以及子图与图形边缘之间的空间。这个方 法提供了比 tight_layout 更细粒度的控制,特别适用于需要精确控制布局的情 况。

fig.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)
名称描述
left子图区域左边缘与图形左边缘之间的距离,范围从 0 到 1。
bottom子图区域下边缘与图形下边缘之间的距离,范围从 0 到 1。
right子图区域右边缘与图形右边缘之间的距离,范围从 0 到 1。
top子图区域上边缘与图形上边缘之间的距离,范围从 0 到 1。
wspace子图之间的水平间距,范围从 0 到 1。
hspace子图之间的垂直间距,范围从 0 到 1。
import matplotlib.pyplot as plt# 创建一个包含多个子图的图形
fig, axs = plt.subplots(2, 2)# 在每个子图中绘制一些数据
axs[0, 0].plot([1, 2, 3], [1, 2, 3])
axs[0, 1].plot([1, 2, 3], [3, 2, 1])
axs[1, 0].plot([1, 2, 3], [1, 3, 2])
axs[1, 1].plot([1, 2, 3], [2, 1, 3])# 使用 subplots_adjust 手动调整子图布局
plt.subplots_adjust(left=0.1, right=0.7, top=0.9, bottom=0.1, hspace=0.2, wspace=0.2)# 显示图形
plt.show()

3.15、clear

        在matplotlib库中, Axes对象(代表绘图区域)和 都有clear函数。 Axes对象的 Figure对象(代表整个图形) clear函数主要用于清除该轴(子图)上的所有图形 元素,包括线条、标记、文本、图像等; Figure对象的 clear函数用于清除整个图 形中的所有子图和其他相关元素

import matplotlib.pyplot as plt# 创建一个包含多个子图的图形
fig, axs = plt.subplots(2, 2)# 在每个子图中绘制一些数据
axs[0, 0].plot([1, 2, 3], [1, 2, 3])
axs[0, 1].plot([1, 2, 3], [3, 2, 1])
axs[1, 0].plot([1, 2, 3], [1, 3, 2])
axs[1, 1].plot([1, 2, 3], [2, 1, 3])# 使用 tight_layout 自动调整子图布局
fig.tight_layout()# # Axes对象的clear
# axs[0, 0].clear()# Figure对象的clear
fig.clear()# 显示图形
plt.show()

相关文章:

Python----数据分析(Matplotlib四:Figure的用法,创建Figure对象,常用的Figure对象的方法)

一、Figure的用法 在 Matplotlib 中, Figure对象是整个绘图的顶级容器,它是所有绘图元素的基础, 提供了一个用于绘制图形的画布空间。 在 Matplotlib 中, Axes对象是进行数据绘制和设置坐标轴等操作的核心区域,它与 Fi…...

CameraX学习2-关于录像、慢动作录像

CameraX实现录像 首先在起预览时就要配置录像usecase,对于cameraX来说就是绑定录像usecase到lifecycle。如下。 1,创建Recorder对象,是与 VideoCapture 紧密耦合的 VideoOutput 实现。Recorder可以用来配置录像的分辨率、比例等,还…...

Java链接redis

一、准备工作就像谈恋爱 首先咱们得来点仪式感是不是&#xff1f;打开你的Maven&#xff08;Gradle玩家别打我&#xff09;&#xff0c;把这两个宝贝依赖给我焊死在pom.xml里&#xff1a; <!-- 经典永不过时的Jedis --> <dependency> <groupId>redis.cli…...

2025最新群智能优化算法:基于RRT的优化器(RRT-based Optimizer,RRTO)求解23个经典函数测试集,MATLAB

一、基于RRT的优化器 基于RRT的优化器&#xff08;RRT-based Optimizer&#xff0c;RRTO&#xff09;是2025年提出的一种新型元启发式算法。其受常用于机器人路径规划的快速探索随机树&#xff08;RRT&#xff09;算法的搜索机制启发&#xff0c;首次将RRT算法的概念与元启发式…...

VBA 数据库同一表的当前行与其他行的主键重复判断实现方案

目的&#xff0c;判断是否主键重复&#xff0c;不重复则登录新数据&#xff0c;重复则不登录。 定义类型&#xff1a; DataRecord   tableName 表名   rowNumber 行号   columnName 列名   data 数据 想要实现的代码逻辑如下&#xff1a; 模拟数据库的登录过程。假设…...

DeepSeek开启AI办公新模式,WPS/Office集成DeepSeek-R1本地大模型!

从央视到地方媒体&#xff0c;已有多家媒体机构推出AI主播&#xff0c;最近杭州文化广播电视集团的《杭州新闻联播》节目&#xff0c;使用AI主持人进行新闻播报&#xff0c;且做到了0失误率&#xff0c;可见AI正在逐渐取代部分行业和一些重复性的工作&#xff0c;这一现象引发很…...

android为第三方提供部分系统接口

文章目录 Settings - 亮灭屏Settings - 恢复出厂设置Settings - 数字锁屏/解锁Settings - 设置系统时间PackageInstaller - 安装/卸载第三方应用摘要:本文对系统模块进行改造,提供广播等形式的接口对外提供无法直接调用的系统级别接口,实现部分功能的集合。如果是广播形式,…...

Android 自定义View 加 lifecycle 简单使用

前言 本文是自定义view中最简单的使用方法&#xff0c;分别进行 ‘onMeasure’、‘onDraw’、‘自定义样式’、‘lifecycle’的简单使用&#xff0c;了解自定义view的使用。 通过lifecycle来控制 动画的状态 一、onMeasure做了什么&#xff1f; 在onMeasure中获取view 的宽和…...

在K8S中,svc底层是如何实现的?

在Kubernetes中&#xff0c;Service是集群内部的一个抽象层&#xff0c;用于定义一组Pod的逻辑分组&#xff0c;并提供统一的访问入口点&#xff0c;同时还可以对这些Pod提供负载均衡和网络代理功能。Service底层的实现主要包括以下几个关键组件和技术&#xff1a; 标签选择器…...

Python pyqt小技巧:默认打开某文件(即自动加载某文件)

文章目录 前言 前言 有的时候需要界面自动加载某文件。不需要人为在打开选择。 import os #自带 import sys # 获取该程序当前文件目录dir_name os.path.dirname(os.path.realpath(sys.argv[0])) f1 os.path.join(dir_name, 题目调度规程.xls) # 拼接路径 文件必须和程序在…...

vue2实现组件库的自动按需引入,unplugin-auto-import,unplugin-vue-components

1.使用ant-design-vue或者element-ui时&#xff0c;如何每个组件都去import导入组件&#xff0c;大大降低了开发效率&#xff0c;如果全局一次性注册会增加项目体积&#xff0c;那么如何实现既不局部引入&#xff0c;也不全局注册&#xff1f; 2.在element-plus官网看到有说明…...

C++第十节:map和set的介绍与使用

【本节要点】 1.关联式容器2.键值对3.map介绍与使用4.set介绍与使用5.multimap与multisedd的介绍与使用 一、关联式容器&#xff1a;数据管理的核心利器 关联式容器是STL中用于高效存储和检索键值对&#xff08;key-value pair&#xff09;的数据结构&#xff0c;其底层基于红黑…...

线性代数笔记28--奇异值分解(SVD)

1. 奇异值分解 假设矩阵 A A A有 m m m行 n n n列 奇异值分解就是在 A A A的行向量上选取若干对标准正交基&#xff0c;对它作 A A A矩阵变化并投射到了 A A A的列空间上的正交基的若干倍数。 A v → u → σ u → ∈ R m v → ∈ R n A\overrightarrow{v}\overrightarrow{u…...

【从零开始学习计算机科学】硬件设计与FPGA原理

硬件设计 硬件设计流程 在设计硬件电路之前,首先要把大的框架和架构要搞清楚,这要求我们搞清楚要实现什么功能,然后找找有否能实现同样或相似功能的参考电路板(要懂得尽量利用他人的成果,越是有经验的工程师越会懂得借鉴他人的成果)。如果你找到了的参考设计,最好还是…...

项目中同时使用Redis(lettuce)和Redisson的报错

温馨提示&#xff1a;图片有点小&#xff0c;可以放大页面进行查看... 问题1&#xff1a;版本冲突 直接上图&#xff0c;这个错表示依赖版本不匹配问题&#xff0c;我本地SpringBoot用的是2.7&#xff0c;但是Redisson版本用的3.32.5。 我们通过点击 artifactId跟进去 发现它…...

leetcode-数组

26. 删除有序数组中的重复项 已解答 简单 相关标签 相关企业 提示 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 n…...

人工智能里的深度学习指的是什么?

深度学习&#xff08;Deep Learning, 简称DL&#xff09;是机器学习领域的一个重要分支&#xff0c;它通过构建和训练深层神经网络模型&#xff0c;从大量数据中自动学习和提取特征&#xff0c;以实现复杂任务的自动化处理和决策。以下是关于深度学习的详细介绍&#xff1a; 一…...

docker本地部署ollama

启动ollama容器 1.使用该命令启动CPU版运行本地AI模型 docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama 2.此命令用于启动GPU版本运行AI模型 前提是笔记本已配置NVIDIA的GPU驱动&#xff0c;可在shell中输入nvidia-smi查看详细情况…...

LangChain构建语言模型驱动应用的强大框架

LangChain 核心功能与组件链&#xff08;Chains&#xff09;记忆&#xff08;Memory&#xff09;提示模板&#xff08;Prompts&#xff09;代理&#xff08;Agents&#xff09;数据检索&#xff08;Indexes&#xff09; 应用场景文档问答自动化工作流知识管理系统 发展历程总结…...

2025-03-08 学习记录--C/C++-PTA 习题10-2 递归求阶乘和

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 二、代码&#xff08;C语言&#xff09;⭐️ #include <stdio.h>double fact( int n ); double facts…...

浅谈 DeepSeek 对 DBA 的影响

引言&#xff1a; 在人工智能技术飞速发展的背景下&#xff0c;DeepSeek 作为一款基于混合专家模型&#xff08;MoE&#xff09;和强化学习技术的大语言模型&#xff0c;正在重塑传统数据库管理&#xff08;DBA&#xff09;的工作模式。通过结合其强大的自然语言处理能力、推理…...

AI如何重塑运维体系

AI大模型的引入正在从被动响应到主动预防、从经验驱动到数据智能全面重构运维体系。 一、颠覆传统运维模式的技术革新 故障预测&#xff1a;从“救火”到“防火” AI大模型通过整合历史日志、硬件状态、网络流量等多模态数据&#xff0c;结合时间序列分析&#xff08;如LSTM&am…...

linux 内网下载 yum 依赖问题

1.上传系统镜像 创建系统目录&#xff0c;用户存放镜像&#xff0c;如下&#xff1a; mkdir /mnt/iso上传 iso 文件到 /mnt/iso 文件夹下。 2.挂载系统镜像 安装镜像至 /mnt/cdrom 目录中 mount -o loop /mnt/iso/CentOS-7-x86_64-Minimal-xx.iso /mnt/cdrom3.修改yum源配…...

mapbox开发小技巧

自定义图标 // 1、单个图标 const url ./static/assets/symbols/code24x24/VIDEO.png // 图标路径 map.loadImage(url ,(error, image) > {if (error) throw errormap.addImage(video-icon, image) })// 2、雪碧图利用canvas // json和png图片 function getStyleImage(fil…...

DeepSeek×博云AIOS:突破算力桎梏,开启AI普惠新纪元

背景 在全球人工智能技术高速迭代的背景下&#xff0c;算力成本高企、异构资源适配复杂、模型部署效率低下等问题&#xff0c;始终是制约企业AI规模化应用的关键。 DeepSeek以创新技术直击产业痛点&#xff0c;而博云先进算力管理平台AIOS的全面适配&#xff0c;则为这一技术…...

Java高频面试之集合-07

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;ArrayList 和 Vector 的区别是什么&#xff1f; ArrayList 与 Vector 的区别详解 ArrayList 和 Vector 都是 Java 中基于…...

Redis- 切片集群

切片集群 切片集群什么是Redis Cluster吗&#xff1f;为什么需要切片集群&#xff1f;Redis Cluster的数据分片机制是怎样的&#xff1f;哈希槽的算法是什么基本算法流程 待填坑 切片集群 什么是Redis Cluster吗&#xff1f;为什么需要切片集群&#xff1f; Redis Cluster是R…...

【项目日记(十)】瓶颈分析与使用基数树优化

前言 上一期我们对整个项目进行了细节部分的优化&#xff0c;并在最后测试了多线程环境下和malloc的性能对比测试&#xff0c;发现malloc有时候还是更胜一筹的&#xff0c;基于此我们进行对我们的内存池进行瓶颈分析与优化。 目录 前言 一、项目瓶颈分析 VS编译器下性能分…...

后台管理系统比较全面的分析对比

以下是主流的 后台管理系统模板 分类与技术选型指南&#xff0c;涵盖开源、商业及全栈解决方案&#xff0c;可根据项目需求灵活选择&#xff1a; 一、开源免费模板 1. React 技术栈 Ant Design Pro 官网&#xff1a;pro.ant.design特点&#xff1a;阿里出品&#xff0c;内置 R…...

HCIA复习拓扑实验

一.拓扑图 二.需求 1.学校内部的HTTP客户端可以正常通过域名www.baidu.com访问到百度网络中HTTP服务器 2.学校网络内部网段基于192.168.1.0/24划分&#xff0c;PC1可以正常访问3.3.3.0/24网段&#xff0c;但是PC2不允许 3.学校内部路由使用静态路由&#xff0c;R1和R2之间两…...