R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

技术R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么本篇文章为大家展示了R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

本文向您展示了R语言数据可视化ggplot的置信区间和分组绘图的技巧。内容简洁易懂,一定会让你大放异彩。希望通过这篇文章的详细介绍,你能有所收获。

1. 单组情况

1)构造数据集

x-1:10

y-x^2

ci_l-x^2-0.5*x

ci_r-x^2 0.5*x

dat _ plot-data.frame (x,y,ci _ l,ci _ r)数据集的长度如下:

xyci_lci_r

1110.51.5

2243.05.0

3397.510.5

441614.018.0

552522.527.5

663633.039.0

774945.552.5

886460.068.0

998176.585.5

01010095.0105.0

2)绘制置信区间

添加置信区间的核心函数是:geom_ribbon(),需要注意的是先画置信区间,再画线,保证线在置信区间之上。

此处添加了Ggplot(dat_plot,aes(x=x)) #x轴,因此置信区间和拟合线共享同一个x。

Geom _ ribbon (AES (ymin=ci _ l,ymax=ci _ r)) #增加置信区间

Geom_line(aes(y=y))#添加拟合线R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

(文末将美化上面“丑”的置信区间。)

通常需要对需要的图片进行分组,我们会通过分组来绘制置信区间。

00-1010我们将演示两种绘制分组情况和绘制置信区间的方法:

2. 多组情况

方法1

一般来说,ggplot需要的矢量化结构是:

x-1:10

y1-x^2

ci_l1-x^2-0.5*x

ci_r1-x^2 0.5*x

y2-20*log(x)

ci_l2-20*

nbsp;log(x) - 0.5 * x
ci_r2 <- 20 * log(x) + 0.5 * x
dat_plot <- data.frame(rbind(cbind(x, y1, ci_l1, ci_r1), cbind(x, y2, ci_l2, ci_r2)))
names(dat_plot) <- c("x", "y", "ci_l", "ci_r")
dat_plot$group <- rep(c("G1", "G2"), each = 10)

数据样式:

x         y     ci_l      ci_r group
1   1   1.00000  0.50000   1.50000    G1
2   2   4.00000  3.00000   5.00000    G1
3   3   9.00000  7.50000  10.50000    G1
4   4  16.00000 14.00000  18.00000    G1
5   5  25.00000 22.50000  27.50000    G1
6   6  36.00000 33.00000  39.00000    G1
7   7  49.00000 45.50000  52.50000    G1
8   8  64.00000 60.00000  68.00000    G1
9   9  81.00000 76.50000  85.50000    G1
10 10 100.00000 95.00000 105.00000    G1
11  1   0.00000 -0.50000   0.50000    G2
12  2  13.86294 12.86294  14.86294    G2
13  3  21.97225 20.47225  23.47225    G2
14  4  27.72589 25.72589  29.72589    G2
15  5  32.18876 29.68876  34.68876    G2
16  6  35.83519 32.83519  38.83519    G2
17  7  38.91820 35.41820  42.41820    G2
18  8  41.58883 37.58883  45.58883    G2
19  9  43.94449 39.44449  48.44449    G2
20 10  46.05170 41.05170  51.05170    G2
2)绘制置信区间

注意,这里分组的关键就是使用 group = 参数。

ggplot(dat_plot, aes(x = x, group = group)) +
  geom_ribbon(aes(ymin = ci_l, ymax = ci_r)) +
  geom_line(aes(y = y))

R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

但是这里的颜色比较吃藕,所以我们改变一下线条的颜色与置信区间的颜色。

非常简单,我们将参数 group =color =fill = 替换即可。值得一提的是,这里的color = 如果加在ggplot()中,添加的就会是拟合线与置信区间外边线两条曲线。若不想要置信区间的外边线, color =写在geom_line()中即可。

此外,还需要注意,绘制置信区间,若线条与区间是相同颜色,一定要修改置信区间的透明度,利用alpha = 进行修改,其范围在0-1之间,并且值越小越透明。

代码如下:

ggplot(dat_plot, aes(x = x, color = group, fill = group)) +
  geom_ribbon(aes(ymin = ci_l, ymax = ci_r), alpha = 0.3) +  # alpha 修改透明度
  geom_line(aes(y = y))

R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

在大多数情况下,我们遇到的多组数据集长下面 方法2 这样,我们需要怎么进行绘制呢?下面继续进行讲解:

方法2

1)构造数据集
dat_plot <- data.frame(x, y1, ci_l1, ci_r1, y2, ci_l2, ci_r2) # 基于前文的数据
x  y1 ci_l1 ci_r1       y2    ci_l2    ci_r2
1   1   1   0.5   1.5  0.00000 -0.50000  0.50000
2   2   4   3.0   5.0 13.86294 12.86294 14.86294
3   3   9   7.5  10.5 21.97225 20.47225 23.47225
4   4  16  14.0  18.0 27.72589 25.72589 29.72589
5   5  25  22.5  27.5 32.18876 29.68876 34.68876
6   6  36  33.0  39.0 35.83519 32.83519 38.83519
7   7  49  45.5  52.5 38.91820 35.41820 42.41820
8   8  64  60.0  68.0 41.58883 37.58883 45.58883
9   9  81  76.5  85.5 43.94449 39.44449 48.44449
10 10 100  95.0 105.0 46.05170 41.05170 51.05170
2)绘制置信区间

面对上述这种数据格式,我们处理起来也十分简单,我们只需要在对应的aes() 函数中,写清楚对应的分组名称即可。

color =fill = 一定要写在 aes() 里面!!!
color =fill = 一定要写在 aes() 里面!!!
color =fill = 一定要写在 aes() 里面!!!

重要的事情说三遍,具体代码如下所示:

ggplot(dat_plot, aes(x = x)) +
  geom_ribbon(aes(ymin = ci_l1, ymax = ci_r1, fill = "G1"), alpha = 0.3) +
  geom_ribbon(aes(ymin = ci_l2, ymax = ci_r2, fill = "G2"), alpha = 0.3) +
  geom_line(aes(y = y1, color = "G1")) +
  geom_line(aes(y = y2, color = "G2"))

R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

但这样的置信区间还比较丑,下面我们给出一个略微美化的版本,并在代码中进行注释,说明每个函数的用意。

3)美化
ggplot(dat_plot, aes(x = x)) +
  geom_ribbon(aes(ymin = ci_l1, ymax = ci_r1, fill = "G1", color = "G1"), 
              alpha = 0.3, linetype = 2) +        # linetype = 2 表示置信区间描边线为虚线
  geom_ribbon(aes(ymin = ci_l2, ymax = ci_r2, fill = "G2", color = "G2"), 
              alpha = 0.3, linetype = 2) +
  geom_line(aes(y = y1, color = "G1")) +
  geom_line(aes(y = y2, color = "G2")) +
  theme_bw(base_family = "Times") +
  theme(panel.grid = element_blank(),
    legend.position = "top",                      # legend 置顶
    panel.border = element_blank(),
    text = element_text(family = "STHeiti"),      # Mac 系统中中文绘图
    plot.title = element_text(hjust = 0.5)) +     # 标题居中
  labs(x = "y", y = "x", title = "分组置信区间",
       color = "", fill = "")                      # 将置信区间与拟合线的 legend 合并,并且不要 legend 的小标题

R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么

以上就是R语言数据可视化ggplot绘制置信区间与分组绘图技巧的详细内容,更多关于ggplot绘制置信区间与分组绘图的资料请关注其它相关文章!

上述内容就是R语言数据可视化ggplot绘制置信区间以及分组绘图技巧是什么,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/71906.html

(0)

相关推荐

  • oracle中数据泵dump文件存放nfs报ORA-27054错误怎么办

    技术oracle中数据泵dump文件存放nfs报ORA-27054错误怎么办小编给大家分享一下oracle中数据泵dump文件存放nfs报ORA-27054错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参

    攻略 2021年11月20日
  • 电脑麦克风说话没声音,电脑麦克风说话没声音,怎么办

    技术电脑麦克风说话没声音,电脑麦克风说话没声音,怎么办先用一个确认正常的话筒试试看,有没有声音,一定要正面和背面话筒接口都要分别插,然后打开音量合成器看看有没有信号,如果没有信号,更新声卡驱动,再不管用就买一个USB独立

    生活 2021年10月28日
  • 怎么解决Python3.8用pip安装turtle-0.0.2出现错误问题

    技术怎么解决Python3.8用pip安装turtle-0.0.2出现错误问题这篇文章主要讲解了“怎么解决Python3.8用pip安装turtle-0.0.2出现错误问题”,文中的讲解内容简单清晰,易于学习与理解,下面

    攻略 2021年11月10日
  • 琰字寓意,“福”字倒贴的寓意是什么

    技术琰字寓意,“福”字倒贴的寓意是什么老北京人在过春节的时候,家家户户都会在除夕夜贴上春联,以此寄托对来年美好生活的期盼和对家人的祝福琰字寓意。在贴春联的时候,并不是所有的地方都会贴上长条的、内容复杂的春联。有些地方如屋

    生活 2021年10月22日
  • 西汉建立时间,东汉和西汉,哪个更强大

    技术西汉建立时间,东汉和西汉,哪个更强大在中国历史上,一直有着“强汉盛唐”的说法,西汉曾有“明犯我强汉者,虽远必诛!”、“凡日月所照,江河所至,皆为汉土”的豪言壮语。东汉也有“光武中兴”、“明章之治”的开明盛世。西汉和东

    生活 2021年10月28日
  • leetcode如何删除相邻重复项(leetcode删除相邻重复项)

    技术leetcode如何删除字符串中的所有相邻重复项这篇文章主要为大家展示了“leetcode如何删除字符串中的所有相邻重复项”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“l

    攻略 2021年12月15日