R语言柱状图排序和x轴上的标签倾斜

时间:2022-02-19 17:14:35

R语言做柱状图大致有两种方法, 一种是基础库里面的 barplot函数, 另一个就是ggplot2包里面的geom_bar


此处用的是字符变量 统计其各频数,然后做出其柱状图。(横轴上的标签显示不全


t <- sort(table(dat1$L), decreasing = TRUE)                                            #将频数表进行排序
r <- barplot(t, col = "blue",
             main = "柱状图", ylim = c(0,12), names.arg = dimnames(t)         #画字符变量的柱状图 
tmp <- as.vector(t)                                                                                     #将频数变成一个向量
text(r, tmp, label = tmp, pos = 3)                                                                #加柱子上面的标签

R语言柱状图排序和x轴上的标签倾斜



或用ggplot2包 (目前仍没有给柱子上加数字标签


library(ggplot2)                                                                                  #加载ggplot2包                                            
reorder_size <- function(x) {
  factor(x, levels = names(sort(table(x))))
}                                                                                                         #自定义函数,获取因子型变量的因子类型
p <- ggplot(dat3, aes(reorder_size(LAI))) +                                      #用因子变量做基础底图,也可直接用reorder排序
  geom_bar(fill = "blue") +                                                                                #画柱状图
  theme(axis.text.x = element_text(angle = 45, hjust = 0.5, vjust = 0.5)) +      #让横轴上的标签倾斜45度
  xlab("柱状图")                                                                                                #给x轴加标签


R语言柱状图排序和x轴上的标签倾斜