Python绘图-14绘制3D图(下)

14.7绘制3D等高线图性化colormap

14.7.1图像呈现

14.7.2绘图代码

import numpy as np  # 导入numpy库,numpy是Python的一个强大的数值计算扩展程序库,支持大量的维度数组与矩阵运算。
import matplotlib.pyplot as plt  # 导入matplotlib的绘图模块pyplot,用于绘制二维和三维图形。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个字典对象,用于处理matplotlib的全局配置参数。
# 定义一个字典config,该字典包含字体、大小和其他相关的配置参数,用于自定义图形的显示样式。
config = {"font.family": 'serif',  # 设置字体族为衬线字体。"font.size": 10.5,  # 设置字体大小为10.5。"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'。"font.serif": ['SimSun']  # 设置衬线字体为'SimSun'(即宋体)。
}rcParams.update(config)  # 使用config字典中的配置参数更新matplotlib的全局配置参数rcParams。
plt.rcParams['axes.unicode_minus'] = False  # 设置配置参数,确保在图形中正常显示负号。
N = 100  # 定义数据点的数量,这里用于生成X、Y坐标和对应的Z值。
np.random.seed(3124)  # 设置随机数种子,确保每次生成的随机数序列相同,方便结果复现。
# 生成N个在-2到2之间均匀分布的数,然后加上随机噪声,生成x和y的坐标值。
x = np.linspace(-2, 2, N) + np.random.random(N)
y = np.linspace(-2, 2, N) + np.random.random(N)
# 使用meshgrid函数根据x和y坐标生成网格化的X和Y坐标矩阵。
X, Y = np.meshgrid(x, y)
# 根据X和Y坐标矩阵计算对应的Z值,这里Z是X的正弦值和Y的余弦值的和。
Z = np.sin(X) + np.cos(Y)
# 创建一个新的图形窗口,并设置其大小为10x6英寸,分辨率为110像素/英寸。
fig = plt.figure(figsize=(10, 6), dpi=110)
# 创建一个3D坐标轴的子图。
ax = plt.axes(projection='3d')
# 使用contour3D方法绘制等高线图,并设置等高线数量为256,使用'Spectral'颜色映射。
p = ax.contour3D(X,Y,Z,256, cmap='Spectral'  )# 个性化colormap # 设置等高线的数量  
# 设置x轴的标签。
ax.set_xlabel('x')
# 设置y轴的标签。
ax.set_ylabel('y')
# 设置z轴的标签。
ax.set_zlabel('z')
# 设置3D坐标轴的长宽比。
ax.set_box_aspect((3, 3, 1))
# 设置3D视角,其中Elevation为60°,Azimuth为100°。
ax.view_init(60, 100)
# 创建一个颜色条来显示等高线的颜色对应的Z值。
plt.colorbar(p)
# 设置子图的标题。
ax.set_title('Contour counts = 256, elevation = 60, azimuth = 100')
# 显示图形窗口。
plt.show()

这段代码的主要功能是生成一组随机的x和y坐标,然后计算对应的Z值(基于正弦和余弦函数),并使用matplotlib绘制出三维等高线图。代码中设置了等高线的数量、颜色映射、坐标轴标签、视角等,使得图形更加易于理解和分析。 

14.8更科学的3D等高线图方法

14.8.1图像呈现

14.8.2绘图代码

import numpy as np  # 导入numpy库,numpy是Python的一个强大的数值计算扩展程序库,它支持大量的维度数组与矩阵运算。
import matplotlib.pyplot as plt  # 导入matplotlib的绘图模块pyplot,用于绘制二维和三维图形。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个字典对象,用于处理matplotlib的全局配置参数。
# 定义一个字典config,用于设置图形的字体、大小和其他相关配置参数。
config = {"font.family": 'serif',  # 设置字体族为衬线字体。"font.size": 10.5,  # 设置字体大小为10.5。"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'。"font.serif": ['SimSun']  # 设置衬线字体为'SimSun'(即宋体)。
}
rcParams.update(config)  # 使用config字典中的配置参数来更新matplotlib的全局配置参数rcParams。
# 设置配置参数,确保在图形中正常显示负号。
plt.rcParams['axes.unicode_minus'] = False
# 设置数据点的数量为100。
N = 100
# 设置随机数种子,确保每次生成的随机数序列相同,便于结果复现。
np.random.seed(3124)
# 生成在-2到2之间均匀分布的N个数据点,并加上随机噪声。
x = np.linspace(-2, 2, N) + np.random.random(N)
y = np.linspace(-2, 2, N) + np.random.random(N)
# 使用meshgrid函数根据x和y坐标生成网格化的X和Y坐标矩阵。
X, Y = np.meshgrid(x, y)
# 根据X和Y坐标矩阵计算对应的Z值,这里Z是X的正弦值和Y的余弦值的和。
Z = np.sin(X) + np.cos(Y)
# 创建一个新的图形窗口,并设置其大小为14x6英寸,分辨率为110像素/英寸。
plt.figure(figsize=(14, 6), dpi=110)
# 创建一个3D坐标轴的子图,位于1x2网格的第1个位置。
ax1 = plt.subplot(121, projection='3d')
# 使用contour方法绘制等高线图,并设置颜色映射为'Spectral'。
ax1.contour(X, Y, Z, cmap='Spectral')
# 设置x轴的标签。
ax1.set_xlabel('x')
# 设置y轴的标签。
ax1.set_ylabel('y')
# 设置z轴的标签。
ax1.set_zlabel('z')
# 设置3D坐标轴的长宽比。
ax1.set_box_aspect((3, 3, 1))
# 设置3D视角,其中Elevation为10°,Azimuth为100°。
ax1.view_init(10, 100)
# 设置子图的标题。
ax1.set_title('Contour Default, elevation = 10, azimuth = 100')
# 创建一个新的3D坐标轴的子图,位于1x2网格的第2个位置。
ax2 = plt.subplot(122, projection='3d')
# 使用contourf方法绘制填充等高线图,并设置颜色映射为'Spectral'。
ax2.contourf(X, Y, Z, cmap='Spectral')
# 设置x轴的标签。
ax2.set_xlabel('x')
# 设置y轴的标签。
ax2.set_ylabel('y')
# 设置z轴的标签。
ax2.set_zlabel('z')
# 设置3D坐标轴的长宽比。
ax2.set_box_aspect((3, 3, 1))
# 设置3D视角,其中Elevation为10°,Azimuth为100°。
ax2.view_init(10, 100)
# 设置子图的标题。
ax2.set_title('Contourf Default, elevation = 10, azimuth = 100')
# 显示图形窗口。
plt.show()

14.9绘制3D线框图

14.9.1图像呈现

14.9.2绘图代码

import numpy as np  # 导入numpy库,numpy是Python的一个开源数值计算扩展库,支持大量的维度数组与矩阵运算,提供大量的数学函数库来操作这些数组。
import matplotlib.pyplot as plt  # 导入matplotlib库中的pyplot模块,用于绘制二维和三维图形,实现数据的可视化。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个配置字典,用于定制图形的各种默认属性。
# 定义一个字典config,用于存储matplotlib的配置参数,这里主要设置了字体、大小和其他相关属性。
config = {"font.family": 'serif',  # 设置字体族为衬线字体。"font.size": 10.5,  # 设置字体大小为10.5。"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'。"font.serif": ['SimSun']  # 设置衬线字体为'SimSun'(即宋体)。
}
rcParams.update(config)  # 使用config字典中的配置参数来更新matplotlib的全局配置参数rcParams,从而定制图形的外观。
plt.rcParams['axes.unicode_minus'] = False  # 设置配置参数,确保在图形中正常显示负号,防止负号显示为方块或其他非预期字符。
N = 100  # 设置变量N的值为100,用于定义后续生成的x和y坐标点的数量。
np.random.seed(3124)  # 设置随机数种子为3124,以确保每次运行代码时生成的随机数序列都是相同的,便于结果复现。
x = np.linspace(-2, 2, N) + np.random.random(N)  # 生成从-2到2之间均匀分布的N个数据点,并加上一个0到1之间的随机噪声,作为x坐标。
y = np.linspace(-2, 2, N) + np.random.random(N)  # 同样生成从-2到2之间均匀分布的N个数据点,并加上随机噪声,作为y坐标。
X, Y = np.meshgrid(x, y)  # 使用meshgrid函数根据x和y坐标生成网格化的X和Y坐标矩阵,用于后续的三维绘图。
Z = np.sin(X) + np.cos(Y)  # 根据X和Y坐标矩阵计算对应的Z值,这里Z是X的正弦值和Y的余弦值的和。
fig = plt.figure(figsize=(6, 6), dpi=110)  # 创建一个新的图形窗口,并设置其大小为6x6英寸,分辨率为110像素/英寸。
ax = plt.axes(projection='3d')  # 在图形窗口中添加一个3D坐标轴的子图。
ax.plot_wireframe(X, Y, Z, color='k', alpha=.2)  # 使用plot_wireframe方法绘制三维线框图,设置线条颜色为黑色('k'),并设置透明度为0.2。
plt.show()  # 显示图形窗口,展示绘制的三维线框图。

这段代码的主要功能是生成一个三维线框图,其中x和y坐标是带有随机噪声的均匀分布数据,而z坐标是这些x和y坐标的正弦和余弦值的和。绘制的图形通过matplotlib库进行可视化,并且使用了自定义的配置参数来调整图形的外观。

14.10绘制3D曲面图

14.10.1图像呈现

14.10.2绘图代码

import numpy as np  # 导入numpy库,numpy是Python的一个开源数值计算扩展库,支持大量的维度数组与矩阵运算,提供大量的数学函数库来操作这些数组。  
import matplotlib.pyplot as plt  # 导入matplotlib库的pyplot模块,它提供了用于绘制图形和图像的函数。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个配置字典,用于定制图形的各种默认属性。
# 定义一个字典config,其中包含字体、大小和其他相关的配置参数
config = {"font.family": 'serif',  # 设置字体族为衬线字体。"font.size": 12,  # 设置字体大小为12。"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'。"font.serif": ['SimSun']  # 设置衬线字体为'SimSun'(即宋体)。
}
rcParams.update(config)  # 使用config字典中的配置参数来更新matplotlib的全局配置参数rcParams,从而定制图形的外观。
plt.rcParams['axes.unicode_minus'] = False  # 设置配置参数,确保在图形中正常显示负号,防止负号显示为方块或其他非预期字符。
N = 100  # 设定数据点的数量为100,用于生成x和y的坐标点。
np.random.seed(3124)  # 设置随机数种子为3124,确保每次运行代码时生成的随机数序列相同,以便结果可复现。
x = np.linspace(-2, 2, N) + np.random.random(N)  # 生成从-2到2之间均匀分布的N个数据点,并加上一个0到1之间的随机噪声,作为x坐标。
y = np.linspace(-2, 2, N) + np.random.random(N)  # 同样生成从-2到2之间均匀分布的N个数据点,并加上随机噪声,作为y坐标。
X, Y = np.meshgrid(x, y)  # 使用meshgrid函数根据x和y坐标生成网格化的X和Y坐标矩阵,用于后续的三维绘图。
Z = np.sin(X) + np.cos(Y)  # 根据X和Y坐标矩阵计算对应的Z值,这里Z是X的正弦值和Y的余弦值的和。
fig = plt.figure(figsize=(8, 8), dpi=110)  # 创建一个新的图形窗口,设置其大小为8x8英寸,分辨率为110像素/英寸。
ax = plt.axes(projection='3d')  # 在图形窗口中添加一个3D坐标轴的子图,用于绘制三维图形。
# 绘制三维曲面图
ax.plot_surface(X, Y, Z, )  # 使用plot_surface方法绘制三维曲面图,X、Y为坐标矩阵,Z为高度矩阵。
ax.set_xlabel('x')  # 设置x轴的标签为'x'。
ax.set_ylabel('y')  # 设置y轴的标签为'y'。
ax.set_zlabel('z')  # 设置z轴的标签为'z'。
ax.set_box_aspect((2, 2, 1))  # 设置x、y、z轴的显示比例,使得图形不会因轴的伸缩而变形。
ax.view_init(10, 100)  # 设置观察三维图形的视角,第一个参数是仰角(elevation),第二个参数是方位角(azimuth)。
ax.set_title('Plot surface Default, elevation = 10, azimuth = 100')  # 设置图形的标题。
plt.show()  # 显示图形窗口,展示绘制的三维曲面图。

这段代码的主要功能是生成一个三维曲面图,其中x和y坐标是带有随机噪声的均匀分布数据,而z坐标是这些x和y坐标的正弦和余弦值的和。绘制的图形通过matplotlib库进行可视化,并且使用了自定义的配置参数来调整图形的外观。

14.11 3D曲面图指定cstriderstride

14.11.1图像呈现

14.11.2绘图代码

import numpy as np  # 导入numpy库,numpy是Python的一个用于数值计算的扩展库,提供了大量的数学函数来处理数组和矩阵。
import matplotlib.pyplot as plt  # 导入matplotlib库的pyplot模块,用于绘制各种静态、动态、交互式的可视化图形。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个配置字典,用于定制图形的各种默认属性。
# 定义一个字典config,其中包含字体、大小和其他相关的配置参数
config = {"font.family": 'serif',  # 设置字体族为衬线字体"font.size": 10.5,  # 设置字体大小为10.5"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'"font.serif": ['SimSun']}  # 设置衬线字体为'SimSun'(即宋体)
rcParams.update(config)  # 使用config字典中的配置参数来更新matplotlib的全局配置参数rcParams,以定制图形的外观。
plt.rcParams['axes.unicode_minus'] = False  # 设置配置参数,确保在图形中正常显示负号,防止负号显示为方块或其他非预期字符。
N = 200  # 设定数据点的数量为200,用于生成x和y的坐标点。
np.random.seed(3124)  # 设置随机数种子为3124,确保每次运行代码时生成的随机数序列相同,以便结果可复现。
x = np.linspace(-2, 2, N) + np.random.random(N)  # 生成从-2到2之间均匀分布的N个数据点,并加上一个0到1之间的随机噪声,作为x坐标。
y = np.linspace(-2, 2, N) + np.random.random(N)  # 同样生成从-2到2之间均匀分布的N个数据点,并加上随机噪声,作为y坐标。
X, Y = np.meshgrid(x, y)  # 使用meshgrid函数根据x和y坐标生成网格化的X和Y坐标矩阵,用于后续的三维绘图。
Z = np.sin(X) + np.cos(Y)  # 根据X和Y坐标矩阵计算对应的Z值,这里Z是X的正弦值和Y的余弦值的和。
fig = plt.figure(figsize=(14, 6))  # 创建一个新的图形窗口,设置其大小为14x6英寸。
# 创建第一个3D子图
ax1 = plt.subplot(121, projection='3d')  # 在图形窗口中添加一个1x2布局中的第1个子图,并设置其为3D坐标轴。
ax1.plot_surface(X, Y, Z, cmap='Spectral')  # 使用plot_surface方法绘制三维曲面图,并设置颜色映射为'Spectral'。
ax1.set_xlabel('x')  # 设置x轴的标签为'x'。
ax1.set_ylabel('y')  # 设置y轴的标签为'y'。
ax1.set_zlabel('z')  # 设置z轴的标签为'z'。
ax1.set_box_aspect((2, 2, 1))  # 设置x、y、z轴的显示比例,使得图形不会因轴的伸缩而变形。
ax1.view_init(60, 100)  # 设置观察三维图形的视角,第一个参数是仰角(elevation),第二个参数是方位角(azimuth)。
ax1.set_title('Plot surface rstride = cstride = default, \n elevation = 60, azimuth = 100'
)  # 设置子图的标题,并换行显示,说明当前的设置参数。
# 创建第二个3D子图
ax2 = plt.subplot(122, projection='3d')  # 在图形窗口中添加一个1x2布局中的第2个子图,并设置其为3D坐标轴。
ax2.plot_surface(X, Y, Z, cmap='Spectral', rstride=1, cstride=1)  # 绘制三维曲面图,并设置颜色映射和行跨度(rstride)与列跨度(cstride)为1。
ax2.set_xlabel('x')  # 设置x轴的标签为'x'。
ax2.set_ylabel('y')  # 设置y轴的标签为'y'。
ax2.set_zlabel('z')  # 设置z轴的标签为'z'。
ax2.set_box_aspect((2, 2, 1)) # 设置x、y、z轴的显示比例,确保图形的真实比例。
ax2.view_init(60, 100) # 设置观察三维图形的视角,与第一个子图保持一致。
ax2.set_title('Plot surface rstride = cstride = 1, \n elevation = 60, azimuth = 100') # 设置子图的标题,说明当前的rstride和cstride都设置为1。
plt.show() # 显示图形窗口,展示上述设置的两个子图。

在这段代码中,我们创建了一个包含两个3D子图的图形窗口。每个子图都展示了由`X`、`Y`和`Z`坐标定义的三维曲面。两个子图的主要区别在于第二个子图设置了`rstride`和`cstride`参数为1,这会影响曲面在网格中的绘制密度。`rstride`和`cstride`分别代表行和列的跨度,值越小,绘制的网格越密集,但计算量也越大。第一个子图则使用了默认的`rstride`和`cstride`值。  此外,我们还通过`rcParams`和`plt.rcParams`定制了图形的字体、大小等外观参数,并通过`view_init`方法设置了观察图形的视角。  

14.12绘制3D球

14.12.1图像呈现

14.12.2绘图代码

import numpy as np  # 导入numpy库,numpy是Python中用于处理数组和进行数值计算的库。
import matplotlib.pyplot as plt  # 导入matplotlib库的pyplot模块,pyplot提供了用于绘制各种图形的函数,常用于数据可视化。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个配置字典,用于定制matplotlib的图形属性。  
# 定义一个字典config,该字典包含用于设置matplotlib图形的字体、大小和其他相关配置参数。
config = {"font.family": 'serif',  # 设置字体族为衬线字体。"font.size": 10.5,  # 设置字体大小为10.5。"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'。"font.serif": ['SimSun']  # 设置衬线字体为'SimSun',即宋体。
}
rcParams.update(config)  # 使用config字典中的配置参数来更新matplotlib的全局配置参数rcParams,以定制图形的外观。
# 设置配置参数,确保在图形中正常显示负号,防止负号显示为方块或其他非预期字符。
plt.rcParams['axes.unicode_minus'] = False
# 生成从0到2π的100个等间隔的数值,用于后续的三角函数计算。
u = np.linspace(0, 2 * np.pi, 100)
# 生成从0到π的100个等间隔的数值,用于后续的三角函数计算。
v = np.linspace(0, np.pi, 100)
#使用np.outer函数计算x坐标,这里通过u的余弦和v的正弦计算出一个矩阵,每个点对应矩阵中的一个值。
x = 10 * np.outer(np.cos(u), np.sin(v))
# 使用np.outer函数计算y坐标,这里通过u的正弦和v的正弦计算出一个矩阵。
y = 10 * np.outer(np.sin(u), np.sin(v))
# 使用np.outer函数计算z坐标,这里通过u上所有值为1的数组和v的余弦计算出一个矩阵。
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
# 创建一个新的图形窗口,并设置其大小为10x10英寸。
plt.figure(figsize=(10, 10))
# 在图形窗口中添加一个3D坐标轴的子图。
ax = plt.subplot(projection='3d')
# 使用plot_surface方法在3D子图上绘制一个曲面,并使用'inferno'颜色映射。
ax.plot_surface(x, y, z, cmap='inferno')  # plot_surface
# 显示图形窗口及其中的图形内容。
plt.show()

在这段代码中,首先导入了必要的库,并设置了matplotlib的字体和大小等属性。然后,使用numpy库生成了两个一维数组uv,并通过numpyouter函数和三角函数计算了三维空间中曲面的xyz坐标。最后,使用matplotlibpyplot模块创建了一个3D图形,并在其中绘制了曲面。plot_surface方法用于绘制三维曲面,cmap='inferno'设置了曲面的颜色映射。

14.13修改3D视角

14.13.1图像呈现

14.13.2绘图代码

import numpy as np  # 导入numpy库,并为其设置别名np。numpy是一个用于处理数组和进行数值计算的库。
import matplotlib.pyplot as plt  # 导入matplotlib的绘图模块pyplot,并为其设置别名plt。matplotlib是一个绘图库,pyplot提供了绘制各种图形的函数。
from matplotlib import rcParams  # 从matplotlib库中导入rcParams,rcParams是一个配置字典,用于定制matplotlib图形的各种属性。# 定义一个字典config,其中包含用于定制matplotlib图形的字体、大小和其他相关的配置参数。
config = {"font.family": 'serif',  # 设置字体族为衬线字体。"font.size": 10.5,  # 设置字体大小为10.5。"mathtext.fontset": 'stix',  # 设置数学文本的字体集为'stix'。"font.serif": ['SimSun']  # 设置衬线字体为'SimSun',即宋体。
}
rcParams.update(config)  # 使用config字典中的配置参数来更新matplotlib的全局配置参数rcParams。# 设置matplotlib配置参数,确保在图形中正常显示负号,防止负号显示为方块或其他非预期字符。
plt.rcParams['axes.unicode_minus'] = False# 生成从0到2π的100个等间隔的数值,用于后续的三角函数计算。
u = np.linspace(0, 2 * np.pi, 100)
# 生成从0到π的100个等间隔的数值,用于后续的三角函数计算。
v = np.linspace(0, np.pi, 100)# 使用np.outer函数计算x坐标,这里通过u的余弦和v的正弦计算出一个矩阵。
x = 10 * np.outer(np.cos(u), np.sin(v))
# 使用np.outer函数计算y坐标,这里通过u的正弦和v的正弦计算出一个矩阵。
y = 10 * np.outer(np.sin(u), np.sin(v))
# 使用np.outer函数计算z坐标,这里通过u上所有值为1的数组和v的余弦计算出一个矩阵。
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))# 定义网格布局的行数和列数
rows = 2
columns = 2
# 创建一个网格布局对象,并设置行与列之间的间距
grid = plt.GridSpec(rows, columns, wspace=.2, hspace=.2)# 生成一个从0到40,步长为10的数组,用于表示图形的仰角(elevation)
elev = np.arange(0, 40, 10)
# 生成一个从0到200,步长为50的数组,用于表示图形的方位角(azimuth)
azim = np.arange(0, 200, 50)# 创建一个新的图形窗口,并设置其大小为12x12英寸。
plt.figure(figsize=(12, 12))# 遍历所有子图位置
for i in range(rows * columns):# 根据当前遍历的索引i,使用grid布局创建一个3D子图ax = plt.subplot(grid[i], projection='3d')# 在子图上绘制曲面,并设置颜色映射为'inferno'ax.plot_surface(x, y, z, cmap='inferno')# 设置子图的视角,包括仰角和方位角ax.view_init(elev[i], azim[i])# 为子图设置标题,显示当前的仰角和方位角ax.set_title('Elevation = ' + str(elev[i]) + ', Azimuth = ' + str(azim[i]))# 显示图形窗口及其中的图形内容。
plt.show()

  

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UDP编程及特点

目录 1.UDP编程流程 2.recvfrom()、sento() 3.代码演示 3.udp特点 1.UDP编程流程 socket()用来创建套接字,使用 udp 协议时,选择数据报服务 SOCK_DGRAM。sendto()用来发送数据,由于 UDP 是无连接的,每次发送数据都需要指定对端…

神经网络基本使用

1. 卷积层 convolution layers import torch import torchvision from torch import nn from torch.nn import Conv2d from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriterdataset torchvision.datasets.CIFAR10(./dataset,trainFa…

Aspose.Words指定位置插入table

如果在创建书签,然后在书签位置插入表格,会出现格式错乱,在单元格位置里面有一个表格,不符合实际使用。正确做法是复制模板文件里面的表格行,然后插入若干行。 如图标记红色位置插入动态数据行,是先复制标…

day1_C++:实现C++风格字符串输出

1.提示并输入一个字符串&#xff0c;统计该字符中大写、小写字母个数、数字个数、空格个数以及其他字符个数&#xff0c;要求使用C风格字符串完成 程序代码&#xff1a; #include <iostream>//标准输入输出流 #include <string.h>//C中字符串相关头文件 using na…

HBase分布式数据库的原理和架构

一、HBase简介 HBase是是一个高性能、高可靠性、面向列的分布式数据库&#xff0c;它是为了在廉价的硬件集群上存储大规模数据而设计的。HBase利用Hadoop HDFS作为其文件存储系统&#xff0c;且Hbase是基于Zookeeper的。 二、HBase架构 *图片引用 Hbase采用Master/Slave架构…

LeetCode226题:翻转二叉树(python3)

class Solution:def invertTree(self, root: Optional[TreeNode]) -> Optional[TreeNode]:if not root:return rootleft self.invertTree(root.left)right self.invertTree(root.right)root.left,root.right right,leftreturn root复杂度分析 时间复杂度&#xff1a;O(N…

HTML 学习笔记(十一)表单

一、分块 1.单行文本框控件–文本框和密码框 文本框控件通过单标签input实现&#xff0c;其具有必要属性type来控制输入控件的类型(默认为text即文本信息)&#xff0c;密码框的type为password(口令)。   表单的动作属性定义了目的文件的文件名。由动作属性定义的这个文件通常…

Docker 安装部署MySQL教程

前言 Docker安装MySQL镜像以及启动容器&#xff0c;大致都是三步&#xff1a;查询镜像–>拉取镜像–>启动容器 1、查询镜像 docker search mysql2、拉取镜像 拉取镜像时选择stars值较高的 docker pull mysql:5.7 #这里指定拉取对应的版本Mysql5.7&#xff0c;没有指…

ArcGIS学习(十六)基于交通网络的城市情景分析

ArcGIS学习(十六)基于交通网络的城市情景分析 本任务给大家带来一个非常重要的内容一一基于交通网络的城市情景分析。基于交通网络模拟交通出行并进行相关分析是ArcGIS里面一种常用的分析方法,大家一定要掌握!本任务包括三个关卡: 交通网络模型构建基于交通网络模型的基本…

Gitlab CICD 下载artifacts文件并用allure打开,或bat文件打开

allure命令行打开aritfacts报告 首先下载allure.zip&#xff0c;并解压 配置环境变量 使用命令行打开allure文件夹 allure open 2024-03-11-14-54-40 2024-03-11-14-54-40 包含index.html Bat文件打开artifacts There are 2 html reports in the download artifacts.zip S…

EXCEL根据某列的数字N,增加N-1行相同的数据

因为工作需要&#xff0c;需要将表格数据拆分&#xff0c;类似于相同的订单有6笔&#xff0c;数据表中就是一行数据但是订单数为6&#xff0c;但是需要将其拆分成相同6笔的订单数为1的数据行。 需要使用VBA代码&#xff0c;具体做法如下&#xff1a; Dim i As Long, j As Long…

Rust接收命令行参数和新建文件读写和追加操作与IO

接收命令行参数 命令行程序是计算机程序最基础的存在形式&#xff0c;几乎所有的操作系统都支持命令行程序并将可视化程序的运行基于命令行机制。 命令行程序必须能够接收来自命令行环境的参数&#xff0c;这些参数往往在一条命令行的命令之后以空格符分隔。 在很多语言中&a…

使用 ChatGPT 写高考作文

写作文&#xff0c;很简单&#xff0c;但写一篇好的作文&#xff0c;是非常有难度的。 想要写一篇高分作文&#xff0c;需要对作文题目有正确的理解&#xff0c;需要展现独到的观点和深入的思考&#xff0c;需要具备清晰的逻辑结构&#xff0c;需要准确而得体的语言表达。 正…

云服务器租用4核16G配置价格表,阿里云和腾讯云费用价格对比

4核16G服务器租用优惠价格26元1个月&#xff0c;腾讯云轻量4核16G12M服务器32元1个月、96元3个月、156元6个月、312元一年&#xff0c;阿腾云atengyun.com分享4核16服务器租用费用价格表&#xff0c;阿里云和腾讯云详细配置报价和性能参数表&#xff1a; 腾讯云4核16G服务器价…

2021年中国环境统计年鉴、工业企业污染排放数据库

《中国环境统计年鉴》是国家统计局和生态环境部及其他有关部委共同编辑完成的一本反映我国环境各领域基本情况的年度综合统计资料。收录了上一年年全国各省、自治区、直辖市环境各领域的基本数据和主要年份的全国主要环境统计数据。 内容共分为十二个部分,即:1.自然状况;2.水环…

电脑切屏卡顿,尤其是打游戏时切屏卡顿问题解决方法

博主在打游戏时喜欢切后台但是最近发现切屏尤其慢&#xff0c;异常卡顿&#xff0c;但是是新换的电脑&#xff0c;所以苦恼了半天&#xff0c;上网搜也没有结果&#xff0c;说的都是些配置低&#xff0c;系统文件损坏等问题&#xff0c;所以再检查分辨率时发现问题所在 屏幕分辨…

##天气预报爬虫 项目

//主要功能 #include "head.h" #include "cJSON.h"void FunWeather(void); void RecvSendWeather(void); int RealTimeWeather(void); int CreateTcpClient(char *p,int port); int SendHttpRequest(int sockfd,char *q); void RecvSendWeather(void);char…

1.6什么是“空洞卷积”?简述空洞卷积的设计思路

1.6 简述空洞卷积的设计思路 背景&#xff1a;在语义分割(Semantic Segmentation)任务中&#xff0c;一般需要先缩小特征图尺寸&#xff0c;做信息聚合&#xff1b; 然后再复原到之前的尺寸&#xff0c;最终返回与原始图像尺寸相同的分割结果图。 问题&#xff1a;常见的语义分…

AI新工具(20240311) 国内免费使用Claude 3 Sonnet;Pika推出视频加音效功能

1: 国内免费使用Claude 3 Sonnet Claude 3现已登陆Amazon Bedrock&#xff0c;国内就能够免费使用&#xff0c;以下是网友整理的使用流程。 地址&#xff1a;https://lab.amazoncloud.cn/ 2: Pika Sound Effects Pika推出视频加音效功能&#xff0c;为视频创作带来声音定制…

python请求url下载网站中的视频

举例网站&#xff1a;Mini Impresora Trmica Bluetooth Porttil Inalmbrico | Envo gratis ctrlF4 先搜mp4 搜不到就搜m3u8 了 视频格式如下 &#xff08; AVI&#xff08;Audio Video Interleave&#xff09;&#xff1a;是一种由微软公司开发的音频和视频文件格式。MOV&…