R语言中这种涉及三个属性的条形图怎么画呀

Python017

R语言中这种涉及三个属性的条形图怎么画呀,第1张

1. 开始→程序→Microsoft Word→选“模板”→确定→选“演示文稿设计”卡片→“彩晕型模板” →“确定”选第一行第二列的幻灯片→确定。2.将工具栏的“50%”改为“66%”3.插入→文本框→文本框→在幻灯片左上角单击→输入“计算机世界”→在其他地方单击。4.单击底部的“自选图形”→单击“基本”基本选梯形→在页面左下角拖动鼠标,形成梯形→在梯形上单击右键→选“添加文本”→输入“梯形”→在其他地方单击。5.单击标题文字→选中标题文字→在文字上击右键→选复制,在副标题处击右键,选粘贴。6.在框上击右键→设置文本框格式→“位置”卡片→将“水平”、“垂直”中的数改为“15”→确定。7.选中文字“计算机专业方向”,在文字上击“右键”→选字体→将宋体改为楷体,字号改为80,效果中选下划线,颜色改为红色→确定。8.选中带项目符号的文字,在文字上击右键→选项目符合→把颜色改为绿色→确定。9.选中文字→格式→行距→把行距改为1.50→确定。10.视图→页眉页脚→选“自动更新”,改日期格式→选幻灯片编号→把“页脚”去掉→击“全部应用”。11.视图→母版→幻灯片母版12.在桌面上双击Powerpoint图标→选“内容提示向导”→确定→下一步→选“常规”→下一步→下一步→下一步→完成。13.格式→背景→选颜色为“黄色”→再击“ ”,选“填充效果”,选“双色”,“斜上”→确定→全部应用。14、在幻灯片上击“右键”→选“应用设计模板”→选“草地型模板”→应用15、在底部击“反选图形”→击“基本形状”→选“笑脸”→在幻灯片上拖运鼠标,画出笑脸→在图像上击右键→击“设置自选图形格式”→选“位置”卡片把水平、垂直均改为8.5→确定16、在五角星上击“右键”→选“设置的选图形格式”将填充颜色改为红色→选中“半透明”→确定17、击底部从右边数第二个图标,选“阴影设置”,击“阴影设置”中左数第5个图标,然后击第6个图标选红色18、击底部从右边数第一个图标,选第三行第二列的图标19、在图形上击“右键”,选复制,在其他的地方击右键选“粘贴”在图形上击右键,选“设置自选图形格式”→选“位置”卡片将水平、垂直按要求改数。20、在图形上击右键,选“设置自选图形格式”→选“大小”卡面,将旋转改为45度→确定

直方图又称柱状图/条形图,用来展示连续数据分布的常用工具,用来估计数据的概率分布。

使用格式:hist(x,breaks=n,main="name",labels=FASLE,col="blue",border="red",freq=TRUE)

x 向量,直方图的数据

breaks 描直方图的断点,例如breaks=20表示画出20个柱子;

labels 逻辑变量,TRUE标出频数

main 标题

col 颜色

border外框颜色

freq 逻辑变量,TRUE为数据频数,默认为TRUE;FALSE则为密度

我们可以用lines画出数据的密度曲线

还可以画正态分布的密度曲线

使用格式 ggplot(data,aes(x=class))+geom_bar()

x 绘制的数据

或者 ggplot(data,aes(y=class))+geom_bar(),则类型分布在y轴

当想看在该因素中其他因素的情况,可以利用fill进行绘制,得出叠堆条形图

横向的柱状

大多数时候我们想比较多个组直接某些因素的情况,例如有时候我们要画几个样本中各个细胞比例的情况

这是我们可以画堆叠条形图

此时不好比较,我们可以把同类型细胞放在一块比较,即横坐标变为细胞类型

在实验过程中可以采用容易分析的形式进行比较

以上是基本绘制的参数,此外还有美化的一些参数

labs 横纵坐标轴的名称

ggttitle 标题名称

geom_bar(width= )设置条形大小,默认情况下,设置为数据分辨率的90%。

theme_bw() 改变背景颜色

scale_fill_manual 自定义颜色

更多参数见 R语言绘图——数据可视化ggplot2 介绍和主要的参数

1. barplot函数

>a=matrix(1:18,2)

>a

     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]

[1,]    1    3    5    7    9   11   13   15   17

[2,]    2    4    6    8   10   12   14   16   18

>class(a) #查看a数据类型

[1] "matrix"

注意barplot函数对象要么是向量,要么是矩阵,若不是,则要进行数据数据类型进行转换

>barplot(d)  #所有参数默认

>?barplot

常见参数就不赘述了,几个个人认为比较重要参数如下

names.arg----在每个条形图或条形图下绘制的名称向量。 如果省略此参数,那么如果它是向量,则从height的names属性中获取名称;如果它是矩阵,则从列名称中获取名称。

legend.text----数据为矩阵的时候用,如果legend.text为true,则height的行名称非空时将用作标签。

horiz----默认false,为竖直条形图,改为TRUE,为水平条形图

beside---如果为FALSE,则将高度列描绘为堆叠的条,如果为TRUE,则将列描绘为并列的条

space---每根柱子之前留出的空间量(以平均柱子宽度的一部分为单位)。 可以以单个数字或每个小节一个数字的形式给出。 如果height是一个矩阵,并且next为TRUE,则可以用两个数字指定空间,其中第一个是同一组中的条形之间的间隔,第二个是组之间的间隔。 如果未明确给出,则如果height为矩阵,并且next为TRUE,则默认为c(0,1),否则为0.2。

还有很多参数可以通过help()查询

>barplot(a,names.arg = c('1','2','3','4','5','6','7','8','9'),beside = TRUE,horiz = TRUE,col = rep(c('blue','green','gray'),3),legend.text = TRUE)

>barplot(a,names.arg = c('1','2','3','4','5','6','7','8','9'),beside = F,horiz = TRUE,col = rep(c('blue','green'),2),legend.text = TRUE)

>barplot(a,names.arg = c('1','2','3','4','5','6','7','8','9'),beside = F,horiz = F,col = rep(c('blue','green'),2),legend.text = TRUE) 

2.ggplot2包

安装加载包

install.package('ggplot2')

library(ggplot2)

#创建矩阵

data<-data.frame(Sample<-c(rep('control1',3),rep('control2',3),rep('control3',3),rep('treat1',3),rep('treat2',3),rep('treat3',3),rep('treat4',3)), contion<-rep(c('Cell','Tissue','Organ'),7), value<-c(503,264,148,299,268,98,363,289,208,108,424,353,1,495,168,152,367,146,48,596,143))

colnames(data)=c('sample',"contion","value")

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='fill') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))

#ggplot函数,geom从数据到几何图像,geom_bar为柱状图,geom_line为线型图等,aes形成映射,x轴为sample,y轴为value,堆叠为contion,geom_bar()函数为建立柱状图,stat参数-统计变换,position参数为柱状图形式,position= 'fill'(图形元素堆叠且高度标准化为1),position= 'stack'(图形堆叠图),参数position= 'dodge'(并列数据,非堆叠展示),coord画图在某个坐标系中,facet将绘图窗口分成若干子窗口用来生成数据中不同子集的图形

# labs为标题,theme为设置标题参数,axis.title为轴标题信息,axis.text为轴注释文本,axis.text.x表示设置x轴的信息,还有更多参数详查ggplot2包

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='fill') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))+coord_flip() #加的函数可实现水平柱状图展示

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='stack') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))

ggplot(data,mapping = aes(Sample,value,fill=contion))+geom_bar(stat='identity',position='dodge') +labs(x = 'Sample',y = 'frequnency') +theme(axis.title =element_text(size = 16),axis.text =element_text(size = 14, color = 'black'))+theme(axis.text.x = element_text(angle = 45, hjust = 1))