美文网首页R语言
R可视化——ggplot2调整柱状图柱子宽度及间距

R可视化——ggplot2调整柱状图柱子宽度及间距

作者: 科研那点事儿 | 来源:发表于2022-07-31 10:06 被阅读0次

安装、加载包

1、设置工作目录

#设置工作环境
rm(list=ls())
setwd("D:\\桌面\\ggplot2调整柱状图柱子间距")

2、安装、加载包

#安装包
# install.packages("ggplot2")
# install.packages("ggprism")
#加载包
library(ggplot2)
library(ggprism)

数据

这里使用编写数据,大家也可以导入自己的作图数据

#数据
df<-data.frame(
  group=c('A','B','C'),
  value=c(3,5,7))

基本绘图

p<-ggplot(df,aes(group,value,color=group,fill=group))+
  labs(x="Samples",y=NULL)+
  theme_prism(palette = "candy_bright",
              base_fontface = "plain", 
              base_family = "serif", 
              base_size = 16, 
              base_line_size = 0.8,
              axis_text_angle = 45)+
  scale_fill_prism(palette = "candy_bright")

p+geom_bar(stat="identity",position="dodge")
image.png

调整柱子宽度

主要通过geom_bar函数中的width参数进行控制

#调整柱子宽度
p+geom_bar(stat="summary",fun=mean,position="dodge",width =0.5)
image.png

调整柱子间距

主要通过将X轴转变为连续变量并通过控制变量大小以改变柱间距离,我们先给原数据加一列连续变量:

df$x<-c(1,2,3)#添加连续变量
#绘图
p1<-ggplot(df,aes(x,value,color=group,fill=group))+
  geom_bar(stat="identity",position="dodge",width = 0.5) +
  labs(x="Samples",y=NULL)+#标题
  theme_prism(palette = "candy_bright",
              base_fontface = "plain", 
              base_family = "serif", 
              base_size = 16, 
              base_line_size = 0.8,
              axis_text_angle = 45)+
  scale_fill_prism(palette = "candy_bright")
p1
image.png

改变X轴及其标签

p1+scale_x_continuous(limits=c(0.5,3.5),breaks=c(1,2,3),
                      labels = c('A','B','C'))
image.png

增大某两个柱子间的距离

df$x<-c(1,2,4)#改变连续变量值
ggplot(df,aes(x,value,color=group,fill=group))+
  geom_bar(stat="identity",position="dodge",width = 0.5) +
  labs(x="Samples",y=NULL)+#标题
  theme_prism(palette = "candy_bright",
              base_fontface = "plain", 
              base_family = "serif", 
              base_size = 16, 
              base_line_size = 0.8,
              axis_text_angle = 45)+
  scale_fill_prism(palette = "candy_bright")+
scale_x_continuous(limits=c(0.5,4.5),breaks=c(1,2,3,4),
                      labels = c('A','B','','C'))+#改变X轴
  theme(axis.ticks.x = element_blank())#关闭X轴刻度
image.png

更多精彩欢迎大家关注微信公众号【科研后花园】!!!

相关文章

  • R可视化——ggplot2调整柱状图柱子宽度及间距

    安装、加载包 1、设置工作目录 2、安装、加载包 数据 这里使用编写数据,大家也可以导入自己的作图数据 基本绘图 ...

  • 生物统计-数据可视化

    可视化工具:R包,ggplot,ggplot2,两种可视化变量:类别型、定量型。饼图、柱状图。条形图、散点图、箱线...

  • R语言绘制GO富集分析柱状图

    ggplot2绘制GO富集分析柱状图 - sryjm - 博客园 GO富集分析及结果柱状图绘制R代码_x2ylin...

  • 柱状图中最大的矩形

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒...

  • 84柱状图中的最大矩形

    题目描述 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中...

  • leetcode84 柱状图中最大矩形

    题目 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够...

  • 栈-柱状图中最大的矩形(84)

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒...

  • LeetCode - 84. 柱状图中最大的矩形

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒...

  • 84. 柱状图中最大的矩形

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒...

  • leetcode 084. 柱状图中最大的矩形

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒...

网友评论

    本文标题:R可视化——ggplot2调整柱状图柱子宽度及间距

    本文链接:https://www.haomeiwen.com/subject/pulkwrtx.html