R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图

R语言画散点图-饼图-折线图-柱状图-箱线图-直方图-曲线图-热力图-雷达图

  • 散点图
    • 示例
    • 解析
    • 效果
  • 饼图
    • 示例
    • 解析
    • 效果
  • 折线图
    • 示例
    • 解析
    • 效果
  • 柱状图
    • 示例
    • 解析
    • 效果
  • 箱线图
    • 示例
    • 解析
    • 效果
  • 直方图
    • 示例
    • 解析
    • 效果
  • 曲线图
    • 使用 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 xdatay 分别是数据集中的 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"设置了矩形边框颜色为黑色。

效果

在这里插入图片描述

曲线图

绘制曲线图主要用于展示函数或曲线的形状和变化。可使用基本的 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() 函数用于绘制雷达图,其中参数设置多边形的填充颜色、线条宽度、坐标轴标签颜色、图表标题等

效果

在这里插入图片描述

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

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

相关文章

super和this的作用与区别(java)

目录 &#xff08;一&#xff09;super关键字 &#xff08;1&#xff09;super的作用 &#xff08;2&#xff09;super的用法 2.1&#xff1a;super调用父类成员变量 2.2super调用父类成员方法 &#xff08;3&#xff09;super&#xff08;&#xff09;的使用 (4)super注意…

NAS新品“翻车”后,绿联科技要上市了

在消费电子市场回暖的东风中&#xff0c;又一消费电子知名企业登陆A股。 近日&#xff0c;深圳市绿联科技股份有限公司&#xff08;下称“绿联科技”&#xff09;开启申购&#xff0c;将在创业板上市。本次上市&#xff0c;绿联科技的发行价为21.21元/股&#xff0c;发行数量为…

揭秘!Shopee/Lazada自养号测评高效法,三大策略助力商家快速出单

在东南亚电商的版图中&#xff0c;Lazada凭借其庞大的市场覆盖网络及卓越的服务品质&#xff0c;成功吸引了无数商家与消费者的瞩目。然而&#xff0c;对于渴望在Lazada平台上大展宏图的商家而言&#xff0c;出单的难易程度成为了一个值得深入探讨的议题。 一、Lazada出单的挑战…

泰迪科技2024年高校(本科/职业院校)大数据实验室建设及大数据实训平台整体解决方案

高校大数据应用人才培养目标 大数据专业是面向信息技术行业&#xff0c;培养德智体美劳全面发展的大数据领域的高素质管理型专门人才&#xff0c;毕业生具备扎实的管理学、经济学、自然科学、技术应用、人文社科的基本理论, 系统深入的大数据管理专业知识和实践能力&#xff0c…

JavaEE (1)

web开发概述 所谓web开发,指的是从网页中向后端程序发送请求,与后端程序进行 交互. 流程图如下 Web服务器是指驻留于因特网上某种类型计算机的程序. 可以向浏览器等Web客户端提供文档&#xff0c;也可以放置网站文件&#xff0c;让全世界浏览&#xff1b; 它是一个容器&…

FPGA-计数器

前言 之前一直说整理点FPGA控制器应用的内容&#xff0c;今天就从计数器这个在时序逻辑中比较重要的内容开始总结一下&#xff0c;主要通过还是通过让一个LED闪烁这个简单例子来理解。 寄存器 了解计数器之前先来认识一下寄存器。寄存器是时序逻辑设计的基础。时序逻辑能够避…

细说MCU用DMA控制ADC采样和串口传送的实现方法

目录 一、建立工程 1.相同的配置 2.配置ADC 3.配置DMA 二、代码修改 1.定义存储ADC采样结果的数组 2.启动ADC与定时器 3.编写主程序代码 4.重定义回调函数 5.查看结果 三、修改DMA模式 1. 修改DMA模式为Circular 2.查看结果 采用DMA(Direct Memory Access&#xf…

WebRTC QOS方法十三.1(TimestampExtrapolator接收时间预估)

一、背景介绍 虽然我们可通过时间戳的差值和采样率计算出发送端视频帧的发送节奏&#xff0c;但是由于网络延迟、抖动、丢包&#xff0c;仅知道视频发送端的发送节奏是明显不够的。我们还需要评估出视频接收端的视频帧的接收节奏&#xff0c;然后进行适当平滑&#xff0c;保证…

卷积神经网络【CNN】--池化层的原理详细解读

池化层&#xff08;Pooling Layer&#xff09;是卷积神经网络&#xff08;CNN&#xff09;中的一个关键组件&#xff0c;主要用于减少特征图&#xff08;feature maps&#xff09;的维度&#xff0c;同时保留重要的特征信息。 一、池化层的含义 池化层在卷积神经网络中扮演着降…

JavaScript与DOM的奇妙探险:从入门到精通的实战笔记

文章目录 JavaScript基本说明特点两种使用方式在script中写使用script标签引入JS文件 数据类型介绍特殊值 运算符算数运算符赋值运算符逻辑运算符&#xff1a;![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bbf5c150699845af837d3c45c926e941.png)条件运算符 数组的…

Java_Docker

镜像和容器&#xff1a; 镜像仓库&#xff1a; 存储和管理镜像的平台&#xff0c;镜像仓库中有非常多常用软件的镜像&#xff0c;Docker官方维护了一个公共仓库​​​​​​:​Docker Hub 部署MySQL&#xff1a; docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shang…

Guns v7.3.0:基于 Vue3、Antdv 和 TypeScript 打造的开箱即用型前端框架

摘要 本文深入探讨了Guns v7.3.0前端项目&#xff0c;该项目是基于Vue3、Antdv和TypeScript的前端框架&#xff0c;以Vben Admin的脚手架为基础进行了改造。文章分析了Guns 7.3.0的技术特点&#xff0c;包括其使用Vue3、vite2和TypeScript等最新前端技术栈&#xff0c;以及提供…

如何防止热插拔烧坏单片机

大家都知道一般USB接口属于热插拔&#xff0c;实际任意带电进行连接的操作都可以属于热插拔。我们前面讲过芯片烧坏的原理&#xff0c;那么热插拔就是导致芯片烧坏的一个主要原因之一。 在电子产品的整个装配过程、以及产品使用过程经常会面临接口热插拔或者类似热插拔的过程。…

IDEA的工程与模块管理

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试&#xff08;Debug&#xff09; 第七章 …

Redis的AOF持久化策略(AOF的工作流程、AOF的重写流程,操作演示、注意事项等)

文章目录 缓冲AOF 策略(append only file)AOF 的工作流程AOF 缓冲区策略AOF 的重写机制重写完的AOF文件为什么可以变小&#xff1f;AOF 重写流程 缓冲AOF 策略(append only file) AOF 的核心思路是 “实时备份“&#xff0c;只要我添加了新的数据或者更新了新的数据&#xff0…

问题:4、商业保险与政策性保险的主要不同之处是:经营主体不同、经营目标不同、承保机制不同。 #学习方法#其他#学习方法

问题&#xff1a;4、商业保险与政策性保险的主要不同之处是&#xff1a;经营主体不同、经营目标不同、承保机制不同。 参考答案如图所示

Linux云计算 |【第一阶段】ENGINEER-DAY3

主要内容&#xff1a; LVM逻辑卷管理、VDO、RAID磁盘阵列、进程管理 一、新建逻辑卷 1、什么是逻辑卷 逻辑卷&#xff08;Logical Volume&#xff09;是逻辑卷管理&#xff08;Logical Volume Management&#xff0c;LVM&#xff09;系统中的一个概念。LVM是一种用于磁盘管理…

【人工智能】机器学习 -- 贝叶斯分类器

目录 一、使用Python开发工具&#xff0c;运行对iris数据进行分类的例子程序NaiveBayes.py&#xff0c;熟悉sklearn机器实习开源库。 1. NaiveBayes.py 2. 运行结果 二、登录https://archive-beta.ics.uci.edu/ 三、使用sklearn机器学习开源库&#xff0c;使用贝叶斯分类器…

[React 进阶系列] useSyncExternalStore hook

[React 进阶系列] useSyncExternalStore hook 前情提要&#xff0c;包括 yup 的实现在这里&#xff1a;yup 基础使用以及 jest 测试 简单的提一下&#xff0c;需要实现的功能是&#xff1a; yup schema 需要访问外部的 storage外部的 storage 是可变的React 内部也需要访问同…

产品经理-工作中5大类技术名词解析(19)

在产品经理与开发的团队协作中,如果自己知道一些专业术语,对业务的开展是有帮助的&#xff0c;很多时候,在沟通过程当中,就是因为自己不懂,所以才不知道怎么去做,想要什么样的结果 在力所能及的情况下,平时,多了解一些专业术语,是有好处的 数据结构 数据结构是技术人员将数据进…