欢迎来到ggplot2的世界——堆叠柱状图

今天小果用ggplot2绘制了基因表达量的堆叠柱状图,顾名思义,堆积柱状图,是每组的数据都堆叠在同一条柱子上。

ggplot2是一个用来绘制统计图形(或称为数据图形)的R软件包。与其他大多数的图形软件包不同,ggplot2是由其背后的一套图形语法所支持的。这一语法基于《Grammar of Graphics》(Wilkinson,2005)一书,它由一系列独立的图形部件组成,并能以许多种不同的方式组合起来。这一点使得ggplot2 的功能非常强大,因为它不会局限于一些已经定义好的统计图形,而是可以根据你的需要量身定做。这听起来似乎有些困难,但实际上只需要掌握一些核心准则以及少许特例,今天小果就以绘制堆叠柱状图为例,一起和小伙伴走进ggplot2的世界。

ggplot2 可以绘制出很多美观的图形,同时能避免诸多繁琐的细节,例如添加图例等。用ggplot2 绘图时,图形的每个部分可以依次进行构建,之后还可以进行编辑。ggplot2 精心挑选了一系列预设图形,因此在大部分的情形下你可以快速地绘制出许多高质量的图形。如果在格式上还有额外的需求,也可以利用 ggplot2中的主题系统来进行定制。这样,你将无需花费太多时间来调整图形的外观,而可以更加专注地用图形来展示你的数据。但小伙伴们可能需要花费一些时间来和小果一起学习,ggplot2还是很容易学习的。

首先小果给小伙伴们介绍下输入的数据

“count.csv”包含2个维度的数据。每一列是一簇柱子,每一行不同的颜色图例区分。

话不多说,直接上代码

#加载R包,没有安装请先安装install.packages(“包名”)

library(ggplot2)

library(RColorBrewer)

library(reshape2)

#设置路径

setwd(‘D:\\数据\\表达量柱状图’)

#导入数据

mydata <- read.csv(“count.csv”)

# 转化数据格式

data<-melt(mydata,id.vars=’Count’)

data$Count <- factor(data$Count, levels=c(“>1000″,”500-1000″,”100-500″,”1-100″,”0-1”))

#绘制堆积柱状图

p <- ggplot(data=data,aes(variable,value,fill=Count))+

scale_fill_discrete(limits=c(“>1000″,”500-1000″,”100-500″,”1-100″,”0-1”))+

#这里的小知识点是调整图例的顺序可以使用函数scale_fill_discrete(limits=c(“>1000″,”500-1000″,”100-500″,”1-100″,”0-1”))

#如果是针对分组的柱形图,则position除了可以”identity”(不调整,组内前后重叠)、还包括“stack“(堆积,默认);”fill”(按比例堆积);“dodge“(分散开)

geom_bar(stat=”identity”,position=”stack”, color=”black”, width=0.55,size=0.4)+

#设置堆叠柱状图颜色

scale_fill_manual(values=c(“#354e97”, “#70a3c4”, “#c7e5ec”,”#f5b46f”,”#df5b3f”))+

# 添加x,y轴名

labs(x = “lncRNA”,y = “Number of genes”)+

# 坐标轴延伸,确保图形元素覆盖至坐标

scale_y_continuous(expand = c(0,0))+

# 主题类型

theme_classic()+

# 设置主题

theme(panel.background=element_rect(fill=”white”,colour=”white”,size=0.25), # 填充框内主题颜色,边框颜色和边框线条粗细,设置固定主题为传统的白色背景和白色的网格线 

axis.line=element_line(colour=”black”,size=0.25), # x,y轴颜色,粗细

axis.title=element_text(size=11,color=”black”), # x,y轴名设置

axis.text = element_text(size=8,color=”black”), # x,y轴文本设置

legend.position= c(0.7,0.65) # 显示图例,c(x,y)这里指将轴默认为1,里面的数字为轴的占比)

p_right=p+theme(legend.position = “right”)

p_right

#记得先把图片保存到p_right

#png,pdf,jpg三种图片格式保存

ggsave(“表达量柱状图.png”,width = 10,height = 3,dpi=2000)

ggsave(“表达量柱状图.pdf”,width = 10,height = 3,dpi=2000)

ggsave(“表达量柱状图.jpg”,width = 10,height = 3,dpi=2000)

在工作目录查看刚刚保存的文件

使用ggplot2 绘制堆叠柱形图的内容及图片美化的内容主要就是这些,不能说很全,但是够用,其实使用ggplot2绘制其他类型的图片,也主要是修改这些内容,所以要学会举一反三。加油!

不想写代码?可以用我们的工具云生信平台在线绘制堆积柱形图。

网址:  http://www.biocloudservice.com/home.html

谢谢你的阅读,请期待小果的下一期分享

欢迎来到ggplot2的世界——堆叠柱状图

今天小果用ggplot2绘制了基因表达量的堆叠柱状图,顾名思义,堆积柱状图,是每组的数据都堆叠在同一条柱子上。

ggplot2是一个用来绘制统计图形(或称为数据图形)的R软件包。与其他大多数的图形软件包不同,ggplot2是由其背后的一套图形语法所支持的。这一语法基于《Grammar of Graphics》(Wilkinson,2005)一书,它由一系列独立的图形部件组成,并能以许多种不同的方式组合起来。这一点使得ggplot2 的功能非常强大,因为它不会局限于一些已经定义好的统计图形,而是可以根据你的需要量身定做。这听起来似乎有些困难,但实际上只需要掌握一些核心准则以及少许特例,今天小果就以绘制堆叠柱状图为例,一起和小伙伴走进ggplot2的世界。

ggplot2 可以绘制出很多美观的图形,同时能避免诸多繁琐的细节,例如添加图例等。用ggplot2 绘图时,图形的每个部分可以依次进行构建,之后还可以进行编辑。ggplot2 精心挑选了一系列预设图形,因此在大部分的情形下你可以快速地绘制出许多高质量的图形。如果在格式上还有额外的需求,也可以利用 ggplot2中的主题系统来进行定制。这样,你将无需花费太多时间来调整图形的外观,而可以更加专注地用图形来展示你的数据。但小伙伴们可能需要花费一些时间来和小果一起学习,ggplot2还是很容易学习的。

首先小果给小伙伴们介绍下输入的数据

“count.csv”包含2个维度的数据。每一列是一簇柱子,每一行不同的颜色图例区分。

话不多说,直接上代码

#加载R包,没有安装请先安装install.packages(“包名”)

library(ggplot2)

library(RColorBrewer)

library(reshape2)

#设置路径

setwd(‘D:\\数据\\表达量柱状图’)

#导入数据

mydata <- read.csv(“count.csv”)

# 转化数据格式

data<-melt(mydata,id.vars=’Count’)

data$Count <- factor(data$Count, levels=c(“>1000″,”500-1000″,”100-500″,”1-100″,”0-1”))

#绘制堆积柱状图

p <- ggplot(data=data,aes(variable,value,fill=Count))+

scale_fill_discrete(limits=c(“>1000″,”500-1000″,”100-500″,”1-100″,”0-1”))+

#这里的小知识点是调整图例的顺序可以使用函数scale_fill_discrete(limits=c(“>1000″,”500-1000″,”100-500″,”1-100″,”0-1”))

#如果是针对分组的柱形图,则position除了可以”identity”(不调整,组内前后重叠)、还包括“stack“(堆积,默认);”fill”(按比例堆积);“dodge“(分散开)

 

geom_bar(stat=”identity”,position=”stack”, color=”black”, width=0.55,size=0.4)+

 

#设置堆叠柱状图颜色

scale_fill_manual(values=c(“#354e97”, “#70a3c4”, “#c7e5ec”,”#f5b46f”,”#df5b3f”))+

 

# 添加x,y轴名

 

labs(x = “lncRNA”,y = “Number of genes”)+

 

# 坐标轴延伸,确保图形元素覆盖至坐标

 

scale_y_continuous(expand = c(0,0))+

 

# 主题类型

 

theme_classic()+

 

# 设置主题

 

theme(panel.background=element_rect(fill=”white”,colour=”white”,size=0.25), # 填充框内主题颜色,边框颜色和边框线条粗细,设置固定主题为传统的白色背景和白色的网格线 

 

axis.line=element_line(colour=”black”,size=0.25), # x,y轴颜色,粗细

 

axis.title=element_text(size=11,color=”black”), # x,y轴名设置

 

axis.text = element_text(size=8,color=”black”), # x,y轴文本设置

 

legend.position= c(0.7,0.65) # 显示图例,c(x,y)这里指将轴默认为1,里面的数字为轴的占比)

p_right=p+theme(legend.position = “right”)

p_right

#记得先把图片保存到p_right

#png,pdf,jpg三种图片格式保存

ggsave(“表达量柱状图.png”,width = 10,height = 3,dpi=2000)

ggsave(“表达量柱状图.pdf”,width = 10,height = 3,dpi=2000)

ggsave(“表达量柱状图.jpg”,width = 10,height = 3,dpi=2000)

在工作目录查看刚刚保存的文件

使用ggplot2 绘制堆叠柱形图的内容及图片美化的内容主要就是这些,不能说很全,但是够用,其实使用ggplot2绘制其他类型的图片,也主要是修改这些内容,所以要学会举一反三。加油!

不想写代码?可以用我们的工具云生信平台在线绘制堆积柱形图。

网址:  http://www.biocloudservice.com/home.html

谢谢你的阅读,请期待小果的下一期分享