多语言展示
当前在线:1695今日阅读:145今日分享:43

R语言ggplot2绘制带误差棒和显著性标记的柱状图

R语言已经成为数据科学入门的必修课之一。数据只有直观的以图形的方式展示,才能帮助我们发现其中的规律,R语言以其强大的可视化功能,备受青睐。而柱状图是常用的图形之一,那么如何绘制简单的柱状图呢?如何在图上加上误差棒呢?又如何加显著性标记呢?笔者总结了工作中的经验,希望对大家有帮助!
方法/步骤
1

读入csv格式数据。如果没有安装ggplot2函数包,请自行安装(install.packages'ggplot2')。我们要可视化的数据如下。用代码ex <- read.csv(file.choose(),header = T)读入数据:将读入的数据赋给ex对象。这里选择了鼠标操作的方式读入数据,根据自己数据存储的位置,通过路径选择该数据。

2

查看数据前六行;载入ggplot2包;并绑定绘图所用的字体。

3

绘图。首先设置柱条的顺序,否则会按照大小(数字型)或先后(字母)顺序绘图。

4

给x、y轴添加标签并美化。添加误差棒。

5

设置y轴范围.去掉背景颜色和网格线、沿坐标轴显示直线.

6

修改坐标轴刻度字体及其大小.

7

将coord_cartesian(expand = TRUE),这里的expand = FALSE,则柱子贴近x轴显示。

8

完整的代码:ex <- data.frame(read.csv(file.choose(),header = T))head(ex)library(ggplot2)#先“绑定”字体,以便后续修改图形用windowsFonts(myFont = windowsFont('Times New Roman')) #######################t=###设置柱条的顺序,否则会按照大小(数字型)或先后(字母)顺序绘图ex$treatment <- factor(ex$treatment,levels = c('CK','HR','AA','PV','HA','HC','CO'))p <- ggplot(ex,aes(x = treatment, y = value)) + geom_bar(stat = 'identity',width = 0.5, fill = 'white', colour = 'black')###给x、y轴添加标签并美化p1 <- p + labs(x = 'xxxx', y = 'xxxx')###添加误差棒p2 <- p1 + geom_errorbar(aes(ymin = value - se, ymax = value + se),width = 0.2)###添加显著性标志p3 <- p2 + geom_text(aes(label = labe, vjust = -3, hjust = 0.5))p3###设置y轴范围p4 <- p3 + ylim(0,16)p4###去掉背景颜色和网格线、沿坐标轴显示直线p5 <- p4 + theme(panel.grid.major =element_blank(), panel.grid.minor = element_blank(),               panel.background = element_blank(),axis.line = element_line(colour = 'black',size = 0.6))p5###修改坐标轴刻度字体及其大小p6 <- p5  + theme(axis.text.x = element_text(size = 15, family = 'myFont', color = 'black',face = 'plain'),                 axis.text.y = element_text(size = 15, family = 'myFont',color = 'black',face = 'plain'),                 axis.title = element_text(size = 15, family = 'myFont', color = 'black',                                           vjust = 0.5))p7 <- p6+coord_cartesian(expand = FALSE)p7## face取值:plain普通,bold加粗,italic斜体,bold.italic斜体加粗;##也可以在element_text()中加上参数vjust = 0.5, hjust = 0.5, angle = 45调整坐标刻度位置

注意事项

个人经验,欢迎指正。

推荐信息