投稿问答最小化  关闭

万维书刊APP下载

SCI文章中的棒棒糖图如何使用R语言绘制?

2022/11/29 9:44:36  阅读:307 发布者:

以下文章来源于Paper绘图 ,作者超级super

背景介绍

棒棒糖图,其实就是一个垂线图,目前使用的人还比较多。该图形打破传统的柱状图的形式,采用散点和垂线结合,形状看起来像棒棒糖一样。在一些SCI文章中还比较多,我们今天来使用R语言来实现一下。

软件介绍

R

RStudio

绘图教程

1. 打开RStudio,我们首先加载需要的包。一般我会直接加载tidyverse,这是一个数据处理和绘图的包的集合,基本上加载了这个,数据处理绘图都可以了。

# 加载包

library(tidyverse)

2. 我们构建一个数据框用于进行绘图。

data <- data.frame(

 name=c("n_a","n_b","n_c","n_d","n_e"),

 value=c(2.1,2.3,3.2,2.9,4.5))

3. 使用ggplot包进行绘图。

采用geom_point()进行散点的绘制;

采用geom_segment()进行直线的绘制,事实上,该函数是用来绘制矩形的,因此这里xxend是相同的,只改变y的值。

ggplot(data,aes(name,value))+

 geom_point()+

 geom_segment(aes(x=name,xend=name,y=0,yend=value))

4. 进一步,我们对图形进行美化。

对图形的点进行更改,包括颜色,透明度;

对线进行更改,包括颜色,线型,粗细。

ggplot(data,aes(name,value))+

 geom_point(size=5, color="red", fill=alpha("orange", 0.3),

            alpha=0.7, shape=21, stroke=3)+

 geom_segment(aes(x=name,xend=name,y=0,yend=value),

              size=1, color="blue", linetype="dotdash")

5. 最后,对主题和标签进行美化即可。

ggplot(data,aes(name,value))+

 geom_point(size=6, color="red", fill=alpha("orange", 0.3),

            alpha=0.7, shape=21, stroke=3)+

 geom_segment(aes(x=name,xend=name,y=0,yend=value),

              size=1.5, color="blue", linetype="dotdash")+

 theme(panel.background = element_rect(fill="#F0E9D2",colour = "black",size = 2),

       text = element_text(size=18))

6. 当然,你也可以将横纵坐标翻转。

ggplot(data,aes(name,value))+

 geom_point(size=6, color="red", fill=alpha("orange", 0.3),

            alpha=0.7, shape=21, stroke=3)+

 geom_segment(aes(x=name,xend=name,y=0,yend=value),

              size=1.5, color="blue", linetype="dotdash")+

 theme(panel.background = element_rect(fill="#F0E9D2",colour = "black",size = 2),

       text = element_text(size=18))+

 coord_flip()

7. 好了,赶紧来学习一下吧!

转自:“投必得学术”微信公众号

如有侵权,请联系本站删除!


  • 万维QQ投稿交流群    招募志愿者

    版权所有 Copyright@2009-2015豫ICP证合字09037080号

     纯自助论文投稿平台    E-mail:eshukan@163.com