网站建设设计公/域名注册网站
R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-等高线图-曲线图-热力图-雷达图-韦恩图(二D)
- 散点图
- 示例
- 解析
- 效果
- 饼图
- 示例
- 解析
- 效果
- 折线图
- 示例
- 解析
- 效果
- 柱状图
- 示例
- 解析
- 效果
- 箱线图
- 示例
- 解析
- 效果
- 直方图
- 示例
- 解析
- 效果
- 等高线图
- 使用filled.contour函数
- 示例
- 解析
- 效果
- 使用 ggplot2 包
- 示例
- 效果
- 使用 lattice 包
- 示例
- 效果
- 曲线图
- 使用 curve() 函数
- 示例
- 效果
- 使用 plot() 函数
- 示例
- 效果
- 使用 ggplot2 包绘制
- 示例
- 解析
- 效果
- 热力图
- 使用 heatmap() 函数
- 示例
- 效果
- 使用 pheatmap 包
- 示例
- 效果
- 使用 ggplot2 包和 geom_tile() 函数
- 示例
- 解析
- 效果
- 雷达图
- 示例
- 解析
- 效果
- 韦恩图
- 示例
- 解析
- 效果
散点图
使用基础的plot()函数可以很容易地绘制散点图~ 散点图通常用于展示两个连续变量之间的关系,例如显示其之间的相关性或者分布情况
示例
假设有如下数据集 data,包含了两个变量 x 和 y:
# 创建示例数据集
set.seed(123) # 设置随机种子以确保示例的可重现性
data <- data.frame(x = rnorm(100), # 随机生成100个符合标准正态分布的x值y = rnorm(100) # 随机生成100个符合标准正态分布的y值
)# 绘制散点图
plot(data$x, data$y,main = "散点图示例", # 图表标题xlab = "变量X", # x轴标签ylab = "变量Y", # y轴标签col = "blue", # 散点颜色pch = 16, # 散点形状(16表示实心圆)xlim = c(-3, 3), # x轴范围ylim = c(-3, 3) # y轴范围
)
解析
1. 创建数据集:
- 使用 rnorm(100) 生成了符合标准正态分布的随机数据作为示例的 x 和 y 变量
2. 绘制散点图:
- plot(data x , d a t a x, data x,datay, …):使用 plot() 函数绘制散点图,其中 data x 和 d a t a x 和 data x和datay 分别是数据集中的 x 和 y 变量
- main, xlab, ylab 分别设置图表的标题和轴标签
- col 设置散点的颜色为蓝色
- pch 设置散点的形状为实心圆(16表示实心圆,可以根据需要选择不同的形状)
- xlim 和 ylim 分别设置了 x 轴和 y 轴的显示范围
效果
饼图
画饼图通常使用pie()函数来实现,饼图适合用于展示各部分占整体的比例关系,如市场份额、各类别的比例等
示例
假设有如下数据集 data,包含了各部分的名称和相应的数值:
# 创建示例数据集
data <- c(25, 35, 20, 10, 10) # 各部分的数值,总和为100%# 部分的标签
labels <- c("部分1", "部分2", "部分3", "部分4", "部分5")# 颜色
colors <- c("red", "orange", "yellow", "green", "blue")# 绘制饼图
pie(data, labels = labels, col = colors,main = "饼图示例", # 图表标题clockwise = TRUE, # 是否顺时针显示,默认为TRUEradius = 1 # 饼图半径,默认为1
)
解析
1. 创建数据集:
- data 含有各部分的数值,这些数值表示每个部分占整体的百分比。在示例中,总和为100%
- labels 包含了每个部分的标签,用于在饼图中显示每个部分的名称
- colors 是一个向量,用于指定每个部分的颜色。在示例中,使用了五种颜色来区分不同的部分
2. 绘制饼图:
- pie(data, labels = labels, col = colors, …):使用 pie() 函数绘制饼图
- labels = labels 将 labels 中的标签应用到相应的部分
- col = colors 指定每个部分的颜色
- main = “饼图示例” 设置饼图的标题
- clockwise = TRUE 表示饼图的部分按顺时针方向显示
- radius = 1 设置饼图的半径,默认为1
效果
折线图
画折线图通常使用plot()函数或者更专门用于绘制折线图的plot()函数来实现。折线图适合展示随时间变化的数据趋势或者连续变量之间的关系
示例
假设有如下数据集 data,包含了随时间变化的两个连续变量 time 和 value:
# 创建示例数据集
set.seed(123) # 设置随机种子以确保示例的可重现性
data <- data.frame(time = 1:10, # 时间序列,假设为10个时间点value = cumsum(rnorm(10)) # 随机生成的累积值,模拟随时间变化的数据
)# 绘制折线图
plot(data$time, data$value,type = "l", # 指定绘制类型为折线图main = "折线图示例", # 图表标题xlab = "时间", # x轴标签ylab = "数值", # y轴标签col = "red", # 折线颜色lwd = 2 # 折线宽度
)
解析
1. 创建数据集:
- data$time 是时间序列,假设为1到10,代表数据的时间点
- data$value 是随时间变化的数据值,使用 cumsum(rnorm(10)) 生成了一个随机累积值序列,模拟随时间变化的数据趋势
2. 绘制折线图:
- plot(data t i m e , d a t a time, data time,datavalue, …):使用 plot() 函数绘制折线图
- type = “l” 指定绘制类型为折线图,这样会连接各个数据点形成折线
- main = “折线图示例” 设置图表的标题
- xlab = “时间” 和 ylab = “数值” 分别设置 x 轴和 y 轴的标签
- col = “red” 设置折线的颜色为红色
- lwd = 2 设置折线的宽度为2个像素
效果
柱状图
画柱状图通常会使用barplot()函数来实现。柱状图适合用于比较不同类别之间的数据量或者频率
示例
假设有如下数据集 data,包含了各类别的数值:
# 创建示例数据集
data <- c(10, 20, 15, 25, 30) # 各类别的数值# 类别的标签
names <- c("类别1", "类别2", "类别3", "类别4", "类别5")# 绘制柱状图
barplot(data, names.arg = names,main = "柱状图示例", # 图表标题xlab = "类别", # x轴标签ylab = "数值", # y轴标签col = "skyblue", # 柱子的填充颜色ylim = c(0, 35) # y轴范围
)
解析
1. 创建数据集:
- data 包含各个类别的数值,这些数值将用来绘制柱状图
- names 包含每个类别的名称,用于在柱状图中显示类别标签
2. 绘制柱状图:
- barplot(data, names.arg = names, …):使用 barplot() 函数绘制柱状图
- names.arg = names 将 names 中的标签应用到相应的柱子上
- main = “柱状图示例” 设置图表的标题
- xlab = “类别” 和 ylab = “数值” 分别设置 x 轴和 y 轴的标签
- col = “skyblue” 设置柱子的填充颜色为天蓝色
- ylim = c(0, 35) 设置 y 轴的显示范围,确保柱状图的高度合适显示
效果
箱线图
画箱线图通常可以使用boxplot()函数,箱线图常用于展示数据的分布情况,包括数据的中位数、四分位数、异常值等信息
示例
假设有如下数据集 data,包含了一组数据:
# 创建示例数据集
set.seed(123) # 设置随机种子以确保示例的可重现性
data <- list(group1 = rnorm(100, mean = 0, sd = 1), # 第一组数据,符合标准正态分布group2 = rnorm(100, mean = 1, sd = 1) # 第二组数据,均值为1的正态分布
)# 绘制箱线图
boxplot(data,names = c("组别1", "组别2"), # 设置每组数据的名称main = "箱线图示例", # 图表标题xlab = "组别", # x轴标签ylab = "数据值", # y轴标签col = c("skyblue", "salmon") # 箱体的填充颜色
)
解析
1. 创建数据集:
- data 包含两组数据,每组数据有100个样本
- group1 是符合标准正态分布的数据
- group2 是均值为1的正态分布数据
2. 绘制箱线图:
- boxplot(data, …):使用 boxplot() 函数绘制箱线图
- names = c(“组别1”, “组别2”) 设置每组数据的名称
- main = “箱线图示例” 设置图表的标题
- xlab = “组别” 和 ylab = “数据值” 分别设置 x 轴和 y 轴的标签
- col = c(“skyblue”, “salmon”) 设置箱体的填充颜色,分别对应两组数据
效果
直方图
直方图是一种展示数据分布的常用图形,它通过将数据范围分成若干个连续的区间,并用矩形的面积来表示在每个区间内数据点的频数或频率,直方图可以直观地了解数据的分布形态,如数据的集中趋势、分散程度和异常值等
示例
# 创建示例数据集
set.seed(123) # 设置随机种子以确保示例的可重现性
data <- rnorm(500) # 生成500个符合正态分布的随机数# 绘制直方图
hist(data,main = "直方图示例", # 图表标题xlab = "数据值", # x轴标签ylab = "频数", # y轴标签col = "lightblue", # 矩形填充颜色breaks = 20, # 设置区间的数量border = "black" # 矩形边框颜色
)
解析
1. 创建数据集:
- 使用rnorm(500)生成500个符合标准正态分布的随机数作为示例数据
2. 绘制直方图:
- hist(data, …):使用hist()函数绘制直方图
- main = "直方图示例"设置图表的标题
- xlab = "数据值"和ylab = "频数"分别设置x轴和y轴的标签
- col = "lightblue"设置矩形填充颜色为浅蓝色
- breaks = 20指定数据范围被分成20个区间来绘制直方图。这个参数会影响直方图的平滑度和细节展示
- border = "black"设置了矩形边框颜色为黑色。
效果
等高线图
地形图也可以被称为等高线图或者地形等高分布图,可使用contour函数来创建2D等高线图,该函数通常与filled.contour一起使用以创建填充的等高线图,这样可以更好地表示地形特征
使用filled.contour函数
示例
# 创建数据
x <- seq(-10, 10, length.out = 100)
y <- seq(-10, 10, length.out = 100)
z <- outer(x, y, function(x, y) {r <- sqrt(x^2 + y^2)10 * sin(r) / r
})# 绘制填充的等高线图
filled.contour(x, y, z,color.palette = terrain.colors, # 使用地形颜色plot.title = title("2D Terrain Contour Plot"),plot.axes = {axis(1)axis(2)},key.title = title("Height"),key.axes = axis(4, seq(-10, 10, by = 2), las = 2),xlab = "X-axis",ylab = "Y-axis"
)
解析
首先创建了一个网格的x和y值,然后使用outer函数来计算每个网格点上的z值(地形高度)
filled.contour函数用于绘制填充的等高线图,其中color.palette参数设置为terrain.colors以使用适合地形的颜色方案。同时也添加了标题、坐标轴标签
效果
使用 ggplot2 包
示例
# 安装和加载ggplot2包
install.packages("ggplot2")
library(ggplot2)# 创建数据
x <- seq(-10, 10, length.out = 100)
y <- seq(-10, 10, length.out = 100)
z <- outer(x, y, function(x, y) {r <- sqrt(x^2 + y^2)10 * sin(r) / r
})# 将数据转换为data frame
data <- expand.grid(X = x, Y = y)
data$Z <- as.vector(z)# 绘制等高线图
ggplot(data, aes(x = X, y = Y, z = Z)) +geom_contour_filled() +labs(title = "2D Terrain Contour Plot", x = "X-axis", y = "Y-axis") +theme_minimal()
效果
使用 lattice 包
示例
# 安装和加载lattice包
install.packages("lattice")
library(lattice)# 创建数据
x <- seq(-10, 10, length.out = 100)
y <- seq(-10, 10, length.out = 100)
z <- outer(x, y, function(x, y) {r <- sqrt(x^2 + y^2)10 * sin(r) / r
})# 将数据转换为data frame
data <- expand.grid(X = x, Y = y)
data$Z <- as.vector(z)# 绘制等高线图
levelplot(Z ~ X * Y, data = data,col.regions = terrain.colors,main = "2D Terrain Contour Plot",xlab = "X-axis", ylab = "Y-axis")
效果
曲线图
绘制曲线图主要用于展示函数或曲线的形状和变化。可使用基本的 plot() 函数或 curve() 函数来绘制曲线图
使用 curve() 函数
curve() 函数用于绘制数学函数的曲线图。这个函数特别适合用于绘制连续的数学函数曲线
示例
# 绘制正态分布函数的曲线图
curve(dnorm(x, mean = 0, sd = 1), from = -4, to = 4,main = "正态分布曲线图",xlab = "X轴",ylab = "Y轴",col = "blue",lwd = 2)
效果
使用 plot() 函数
如果需要画离散的数据点,或想要绘制自定义的曲线,可以使用 plot() 函数配合 lines() 或 points() 函数来实现
示例
# 创建自定义数据
x <- seq(-2, 2, length.out = 100) # 创建从-2到2的100个均匀分布的点
y <- x^3 # 计算每个点的立方值# 绘制曲线图
plot(x, y, type = "l", col = "red", lwd = 2,main = "自定义曲线图",xlab = "X轴",ylab = "Y轴")
效果
使用 ggplot2 包绘制
ggplot2 是一个强大的绘图系统,不必过多阐述~ 其可用于绘制更复杂的图形
示例
# 加载ggplot2包
library(ggplot2)# 创建数据框
data <- data.frame(x = seq(-2, 2, length.out = 100),y = seq(-2, 2, length.out = 100)^3
)# 绘制曲线图
ggplot(data, aes(x = x, y = y)) +geom_line(color = "blue", size = 1) +labs(title = "自定义曲线图",x = "X轴",y = "Y轴") +theme_minimal()
解析
1. 使用 curve()函数:
- curve(dnorm(x, mean = 0, sd = 1), from = -4, to = 4, …) 用于绘制正态分布曲线,其中 dnorm() 是正态分布的密度函数
- from 和 to 参数设置x轴的范围
- col 和 lwd 参数设置曲线的颜色和宽度
2. 使用 plot()和 lines()函数:
- plot(x, y, type = “l”, …) 绘制自定义的数据点,并使用 type = “l” 参数指定绘制线条
- x 和 y 是x轴和y轴的数值。
3. 使用 ggplot2包:
- ggplot(data, aes(x = x, y = y)) 创建一个基本的 ggplot 对象
- geom_line() 绘制曲线
- labs() 设置标题和轴标签
- theme_minimal() 设置图表的主题样式
效果
热力图
热力图是一种用于可视化矩阵数据中数值大小的图形,通过颜色编码展示数据的强度或密度。热力图常用于展示数据的模式和关系,特别是在数据分析和生物信息学中
使用 heatmap() 函数
heatmap() 是R基础包中提供的一个函数,用于绘制简单的热力图。它适合于处理矩阵形式的数据,并能够展示数据的相对大小
示例
# 创建示例数据集
set.seed(123) # 设置随机种子以确保结果的可重现性
matrix_data <- matrix(rnorm(100), nrow = 10) # 生成10x10的随机矩阵数据# 绘制热力图
heatmap(matrix_data,main = "热力图示例",xlab = "列",ylab = "行",col = cm.colors(256), # 颜色选择scale = "none", # 不对数据进行标准化margins = c(5, 10) # 设置边距
)
效果
使用 pheatmap 包
pheatmap 包提供更多定制选项和改进的热力图功能,适用于更复杂的数据可视化
示例
需先确保已安装了 pheatmap 包:
install.packages("pheatmap")
# 加载pheatmap包
library(pheatmap)# 创建示例数据集
set.seed(123)
matrix_data <- matrix(rnorm(100), nrow = 10) # 生成10x10的随机矩阵数据# 绘制热力图
pheatmap(matrix_data,main = "pheatmap示例",color = colorRampPalette(c("blue", "white", "red"))(50), # 颜色渐变scale = "row", # 按行标准化cluster_rows = TRUE, # 行聚类cluster_cols = TRUE, # 列聚类show_rownames = TRUE, # 显示行名show_colnames = TRUE # 显示列名
)
效果
使用 ggplot2 包和 geom_tile() 函数
ggplot2 提供的geom_tile函数适合创建个性化的热力图
示例
# 加载ggplot2包
library(ggplot2)# 创建数据框
set.seed(123)
matrix_data <- matrix(rnorm(100), nrow = 10)
data_long <- as.data.frame(as.table(matrix_data)) # 将矩阵数据转换为长格式数据框# 绘制热力图
ggplot(data_long, aes(x = Var2, y = Var1, fill = Freq)) +geom_tile() +scale_fill_gradient(low = "blue", high = "red") +labs(title = "ggplot2热力图示例",x = "列",y = "行",fill = "值") +theme_minimal()
解析
1. 使用 heatmap()函数:
- matrix_data 是一个生成的10x10的随机矩阵
- col = cm.colors(256) 设置热力图的颜色渐变,cm.colors 是颜色函数
- scale = “none” 表示不对数据进行标准化(即原始数据被直接用于绘图)
2. 使用 pheatmap包:
- color = colorRampPalette(c(“blue”, “white”, “red”))(50) 设置颜色渐变,从蓝色到红色
- scale = “row” 表示对数据按行进行标准化
- cluster_rows 和 cluster_cols 控制是否对行和列进行聚类
3. 使用 ggplot2包:
- geom_tile() 用于绘制热力图的每个单元格
- scale_fill_gradient(low = “blue”, high = “red”) 设置颜色渐变的范围
- as.table(matrix_data) 将矩阵数据转换为适合 ggplot2 的长格式数据框
效果
雷达图
要画雷达图(也称为蜘蛛图或极坐标图),可使用fmsb包提供的函数来实现,雷达图适合用于展示多个变量的相对大小或比较不同类别在不同维度上的表现
示例
需确保你已经安装了fmsb包:
install.packages("fmsb")
# 创建示例数据集
data <- data.frame(Category = c("A", "B", "C", "D", "E"), # 类别Var1 = c(20, 15, 25, 30, 35), # 变量1Var2 = c(25, 20, 30, 35, 40), # 变量2Var3 = c(30, 35, 40, 45, 50) # 变量3
)# 加载fmsb包
library(fmsb)# 将数据标准化处理,将数值转换为角度
data_norm <- data.frame(data[,-1] / apply(data[,-1], 1, max) # 标准化处理,除以各行中的最大值
)# 设置雷达图参数
radarchart(data_norm, # 使用标准化处理后的数据pcol = c("skyblue"), # 多边形的填充颜色plwd = 2, # 多边形线条的宽度cglcol = "black", # 各个多边形的颜色cglty = 1, # 多边形线条的类型axislabcol = "black", # 坐标轴标签的颜色title = "雷达图示例", # 图表标题vlcex = 0.8 # 标签文本的大小
)
解析
1. 创建数据集:
- data 包含不同类别在多个维度上的数值,例如变量1、变量2和变量3
2. 使用fmsb包绘制雷达图:
- data_norm 对原始数据进行标准化处理,确保各个维度的数据在相同的比例下进行比较
- radarchart() 函数用于绘制雷达图,其中参数设置多边形的填充颜色、线条宽度、坐标轴标签颜色、图表标题等
效果
韦恩图
绘制韦恩图可以使用 VennDiagram 包,它提供了多种功能来创建和定制韦恩图
示例
确保已经安装了 VennDiagram 包
install.packages("VennDiagram")
# 加载必要的包
library(VennDiagram)# 定义韦恩图的数据
venn_data <- list(A = c(1, 2, 3, 4, 5),B = c(4, 5, 6, 7, 8),C = c(7, 8, 9, 10, 11)
)# 绘制 2D 韦恩图
venn_plot <- venn.diagram(x = venn_data,category.names = c("Group A", "Group B", "Group C"), # 组的名称filename = NULL, # 不保存为文件,直接显示output = TRUE, # 输出为图形对象main = "2D Venn Diagram", # 主标题col = c("blue", "green", "red"), # 组的边框颜色fill = c("lightblue", "lightgreen", "lightcoral"), # 组的填充颜色alpha = 0.5, # 填充透明度cex = 1.5, # 组名称字体大小cat.cex = 1.2, # 类别名称字体大小cat.col = c("blue", "green", "red"), # 类别名称颜色margin = 0.1 # 图形边缘的空白
)# 显示图形
grid.draw(venn_plot)
解析
1. 定义韦恩图的数据:
- 使用 venn_data 列表来定义三个集合 A、B 和 C 的元素
2. 绘制 2D 韦恩图:
- venn.diagram() 函数用于创建韦恩图
- x 参数传递数据列表 venn_data
- category.names 设置每个集合的名称
- filename 设置为 NULL 表示不保存为文件,只在 R 中显示图形
- output 设置为 TRUE,使得函数返回图形对象
- main 设置主标题
- col 和 fill 分别设置边框颜色和填充颜色
- alpha 设置填充颜色的透明度
- cex 和 cat.cex 设置组名称和类别名称的字体大小
- cat.col 设置类别名称的颜色
- margin 设置图形边缘的空白区域
3. 显示图形:
- 使用 grid.draw() 函数来显示生成的韦恩图
效果
相关文章:

R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-等高线图-曲线图-热力图-雷达图-韦恩图(二D)
R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-等高线图-曲线图-热力图-雷达图-韦恩图(二D) 散点图示例解析效果 饼图示例解析效果 折线图示例解析效果 柱状图示例解析效果 箱线图示例解析效果 直方图示例解析效果 等高线图使用filled.contour函数示例…...

go中map
文章目录 Map简介哈希表与Map的概念Go语言内建的Map类型Map的声明Map的初始化Map的访问Map的添加和修改Map的删除Map的遍历 Map的基本使用Map的声明与初始化Map的访问与操作Map的删除Map的遍历Map的并发问题实现线程安全的Map 3. Map的访问与操作3.1 访问Map元素代码示例&#…...

02-用户画像-技术架构+业务划分
技术架构 python开发 es flume 流数据读取写入kafka文件 kafka 消息队列 sqoop 将数据导入数仓hive StructureStream 动态画像的处理 SparkSQL 静态画像的处理 ,批数据处理 读取kafka获取用户行为数据 fineBI 数据展示 业务划分 离线业务 静态画像 …...

HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 单选题序号1
本来打算找到工作再整理高级的题库,但一直没什么面试机会。宅在家里也不知道干些什么。索性就把高级的题库整理出来了。也算有头有尾。高级的题库更新之后,专业性更强了,不是真正从事这一行的,很难做出来。本人就是个小菜鸡&#…...

敲详细的springboot中使用RabbitMQ的源码解析
这里介绍的源码主要是涉及springboot框架下的rabbitmq客户端代码(具体在springframework.amqp.rabbit包下,区分一下不由springboot直接接管的spring-rabbit的内容),springboot基于RabbitMQ的Java客户端建立了简便易用的框架。 sp…...

《Nginx核心技术》第04章:生成缩略图
作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all/all.html 星球项目地址:https://binghe.gitcode.host/md/zsxq/introduce.html 沉淀,…...

Web 3.0革新:社交金融与边玩边赚开启用户数据主权时代
目录 Web 3.0与社交商业模式 传统社交平台的问题 去中心化社交创新 Mirror:去中心化内容发布平台 Lens Protocol:去中心化社交图谱 Maskbook:隐私保护的社交方式 Web 3.0与与边玩边赚模式 经济模型解析 新商业模式的探索 Axie Infi…...

【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 中文分词模拟器(200分) - 三语言AC题解(Python/Java/Cpp)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 🍿 最新华为OD机试D卷目录,全、新、准,题目覆盖率达 95% 以上,支持题目在线…...

Cisco 路由重发布 —— 实现路由信息在不同路由域间的传递
一、技术背景 在实际的组网中,可能会遇到这样一个场景:在一个网络中同时存在两种或者两种以上的路由协议。例如客户的网络原先是纯 Cisco 的设备,使用 EIGRP 协议将网络的路由打通。但是后来网络扩容,增加了一批华为的设备&#…...

mysql8和mysql5版本在使用mybatis框架时的注意事项
mysql8和mysql5版本在使用mybatis框架时有些注意事项,两者的区别在于两处地方的设置。有一处未设置好,就会出现以下错误:java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Can…...

为什么要有指针和引用类型?
简单说,是为了必要的,且很基础的表达能力 (描述能力)。 0. 数据四要素:名、值、址、型 指针、引用的基础,就是在描述一个数据时,除了这个数据的“值”以外,引入了这个数据的“地址…...

vivado INTERNAL_VREF
内部 具有差分输入缓冲器的单端I/O标准需要输入参考 电压(VREF)。当I/O组中需要VREF时,您可以使用专用VREF 引脚作为外部VREF电源,或使用INTERNAL_VREF内部生成的VREF 属性,或者对于UltraScale设备上的HP I/O组&#x…...

VScode通过Graphviz插件和dot文件绘制层次图,导出svg
1、安装插件 在VScode中安装Graphviz Interactive Preview插件,参考。 2、创建dot文件 在本地创建一个后缀为dot的文件,如test.dot,并写入以下内容: digraph testGraph {label "层次图";node [shape square; widt…...

MMCV 核心组件分析(一):整体概述
概述 MMCV 是计算机视觉研究的基础库,并提供以下功能。...

阵列信号处理学习笔记(一)--阵列信号处理定义
阵列信号 阵列信号处理学习笔记(一)–阵列信号处理定义 阵列信号处理学习笔记(二)–空域滤波基本原理 文章目录 阵列信号前言一、阵列信号处理定义1.1 信号1.2 阵列 二、雷达数据中哪些属于空间采样总结 前言 MOOC 阵列信号处理…...

[HTML]一文掌握
背景知识 主流浏览器 浏览器是展示和运行网页的平台, 常见的五大浏览器有 IE浏览器、火狐浏览器(Firefox)、谷歌浏览器(Chrome)、Safari浏览器、欧朋浏览器(Opera) 渲染引擎 浏览器解析代码渲…...

ABAP使用SQL直接更新数据库与使用IN UPDATE TASK的区别
1. 背景 刚接触ABAP的小伙伴常常会有这样的疑问,为什么不直接使用Open SQL直接更新数据库,而要把对DB的操作封装到IN UPDATE TASK中呢? 对于这个问题,比较常见的解释是,IN UPDATE TASK的方式会保证数据更新的一致性。…...

Android GWP-Asan使用与实现原理
目录 一、 背景 二、GWP-Asan介绍 2.1 什么是GWP-ASan 2.2 GWP-Asan与其他几类工具对比 2.3 GWP-ASan与其它内存分配器的兼容性 三、GWP-Asan如何使用 3.1 app进程 3.2 native进程 四、GWP-Asan实现原理 4.1 进程启用GWP-Asan 4.2 初始化 4.3 内存分配 4.3.1 内存…...

SpringBoot 跨域请求处理全攻略:从原理到实践
文章目录 SpringBoot 如何处理跨域请求?你能说出几种方法?跨域请求概述跨域解决方案1. 使用CrossOrigin注解2. 使用WebMvcConfigurer配置类3. 使用过滤器(Filter)4. 使用Spring Security处理CORS5.使用Spring Cloud Gateway处理CO…...

vulnhub——Ai-Web1靶机渗透
Ai-Web1靶机渗透 靶机下载: 官网地址:https://www.vulnhub.com/entry/ai-web-1,353/ 攻击机:kali2024 一、信息收集 发下目标主机的IP为:192.168.201.141 用nmap工具扫描一下对方主机和服务 发现他打开了80端口 发现搜不到于是…...

sqlalchemy事件监听
sqlalchemy事件监听 SQLAlchemy 中的事件监听允许您在特定事件发生时执行自定义的 Python 代码。这些事件可以是与ORM(对象关系映射)或核心组件相关的操作,比如表、类、会话或事务的插入、更新、删除等操作。通过事件监听,您可以实现日志记录、审计或执行业务规则等功能。…...

【Django+Vue3 线上教育平台项目实战】Celery赋能:优化订单超时处理与自动化定时任务调度
文章目录 前言⭐✨💫🔥📖一、Celery⭐1.基本概念及介绍:✨2.使用步骤💫 二、订单超时 取消订单(Celery)🔥具体实现流程📖 前言⭐✨💫🔥📖 在构建复…...

CSS3 教程
CSS3 教程 引言 CSS3,即层叠样式表的第三代,是网页设计和开发中不可或缺的技术之一。它为HTML元素提供了丰富的样式定义,使得网页不仅内容丰富,而且外观美观、交互性强。本教程将详细介绍CSS3的基础知识、高级特性以及最佳实践&…...

树与二叉树学习笔记
树与二叉树 计算机中的树树的概念树的类型 什么是二叉树二叉树:定义与特点二叉树:前序、中序、后序遍历二叉树:深度、广度优先遍历二叉树:线索化二叉树:序列化与反序列化 haffman树平均编码长度构建haffman树haffman树…...

消费金融系统开发回忆录
架构设计图 整个支付链路上的功能 支付系统应该有:账户管理、渠道管理、支付管理、对账管理、清算管理、结算管理 一笔支付订单,在支付系统侧就是要记录清楚,谁发起的、对哪个商品进行支付、通过哪个渠道支付、支付时间、支付结果等…...

org.springframework.context.ApplicationContext发送消息
1、创建消息的实体类 package com.demo;/*** 监听的实体类**/ public class EventMessage {private String name;public EventMessage(String name) {this.name name;}public String getName() {return name;}public void setName(String name) {this.name name;} }2、创建消…...

Java8-21新特性
简介 由于Java官方最近更新越来越频繁,而长期支持维护的版本LTS版每隔几年才推出一个,大规模商用的JDK只可能选择LTS版,因此这里只简单记录JDK8,11,17,21。 jdk8 Lambda表达式: Lambda表达式…...

NodeJS系列面试题
大家好,我是有用就扩散,有用就点赞。 有没有写过Koa中间件,说一下中间件原理,介绍下自己写过的中间件 koa本来就是一个轻量级框架,本身支持的功能并不多,功能都是通过中间件来实现不同的需求。开发者可以通…...

QXlsx读写excel
QXlsx读写excel 安装 QXlsx使用 qmake使用 CMake 基本用法1. 写入 Excel 文件2. 读取 Excel 文件 详细用法1. 设置单元格样式2. 合并单元格3. 创建图表4. 设置列宽和行高 完整示例 QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API,可以…...

昇思25天学习打卡营第13天 | mindspore 实现 ShuffleNet 图像分类
1. 背景: 使用 mindspore 学习神经网络,打卡第 13 天;主要内容也依据 mindspore 的学习记录。 2. 迁移学习介绍: mindspore 实现 ShuffleNet 图像分类; ShuffleNet 基本介绍: ShuffleNetV1 是旷视科技提…...