R语言学习笔记(2)条形图的绘制及其坐标轴的调整
2022-05-02 本文已影响0人
花生学生信
条形图(bar chart)是用宽度相同的条形的高度或长短来表示数据多少的图形。条形图可以横置或纵置,纵置时也称为柱形图(column chart)。此外,条形图有简单条形图、复式条形图等形式。
今天帮朋友绘制了一张简单的条形图,把遇到的问题及代码分享出来。水平不足之处还望指出。
##输入数据
x<-c('W','C1','C2','C3')
y<-c(0.112,0.1947,0.1601,0.1499)
###转换数据格式
df <- data.frame(x = x, y = y)
###调整因子顺序,不调整默认条形图输出顺序为C1、C2、C3、W
df$x<-factor(df$x,levels=c('W','C1','C2','C3'))
#绘图
p1=ggplot(data = df, mapping = aes(x = x, y = y)) + geom_bar(stat = 'identity')+xlab('乳酸杆菌')+ylab('苯乳酸产量(克/升)')
p1
p1
###去除背景
p2=p1+theme_bw() +
theme(panel.grid.major=element_line(colour=NA),
panel.background = element_rect(fill = "transparent",colour = NA),
plot.background = element_rect(fill = "transparent",colour = NA),
panel.grid.minor = element_blank())
p2
###调整刻度到坐标轴内
p3=p2+theme(axis.ticks.length.x = unit(-0.1,"cm"),axis.text.x = element_text(margin = unit(c(0.5, 0.5, 0.5, 0.5), 'cm')))+theme(axis.ticks.length.y = unit(-0.1,"cm"),axis.text.y = element_text(margin = unit(c(0.5, 0.5, 0.5, 0.5), 'cm')))
p3
####去掉坐标轴与图下方空白
p4=p3+scale_y_continuous(breaks = c(0, 0.05, 0.10, 0.15,0.20),expand=c(0,0))+expand_limits(y=c(0,0.2))
p4
p4