R语言绘制频率直方图的案例

频率直方图是数据统计中经常会用到的图形展示方式,同时在生物学分析中可以更好的展示表型性状的数据分布类型;R基础做图中的hist函数对单一数据的展示很方便,但是当遇到多组数据的时候就不如ggplot2绘制来的方便。

***

1.基础做图hist函数

hist(rnorm(200),col='blue',border='yellow',main='',xlab='')

1.1 多图展示

par(mfrow=c(2,3))
for (i in 1:6) {hist(rnorm(200),border='yellow',col='blue',main='',xlab='')}

2.ggplot2绘制

构造一组正态分布的数据

PH<-data.frame(rnorm(300,75,5))
names(PH)<-c('PH')
#显示数据
head(PH)

##     PH
## 1 72.64837
## 2 67.10888
## 3 89.34927
## 4 75.70969
## 6 82.85354

加载ggplot2作图包并绘图

library(ggplot2)
library(gridExtra)
p1<-ggplot(data=PH,aes(PH))
geom_histogram(color='white',fill='gray60') #控制颜色
ylab(label = 'total number') #修改Y轴标签

2.1 修改柱子之间的距离

p2<-ggplot(data=PH,aes(PH))
geom_histogram(color='white',fill='gray60',binwidth = 3)

2.2 添加拟合曲线

p3<-ggplot(data=PH,aes(PH,..density..))
geom_histogram(color='white',fill='gray60',binwidth = 3)
geom_line(stat='density')

2.3 修改线条的粗细

p4<-ggplot(data=PH,aes(PH,..density..))
geom_histogram(color='white',fill='gray60',binwidth = 3)
geom_line(stat='density',size=1.5)
grid.arrange(p1,p2,p3,p4)

2.4 绘制密度曲线

p1<-ggplot(data=PH,aes(PH,..density..))
geom_density(size=1.5)

2.5 修改线条样式

p2<-ggplot(data=PH,aes(PH,..density..))
geom_density(size=1.5,linetype=2)
p3<-ggplot(data=PH,aes(PH,..density..))
geom_density(size=1.5,linetype=5)

2.6 修改颜色

p4<-ggplot(data=PH,aes(PH,..density..))
geom_density(size=1.5,linetype=2,colour='red')
grid.arrange(p1,p2,p3,p4)

2.7 多组数据展示

构造两组数据

df<-data.frame(c(rnorm(200,5000,200),rnorm(200,5000,600)),rep(c('BJ','TJ'),each=200))
names(df)<-c('salary','city')

结果展示

library(ggplot2)
p1<-ggplot()
geom_histogram(data=df,aes(salary,..density..,fill=city),color='white')
p2<-ggplot()
geom_histogram(data=df,aes(salary,..density..,fill=city),color='white',alpha=.5)
p3<-ggplot()
geom_density(data=df,aes(salary,..density..,color=city))
p4<-ggplot()
geom_histogram(data=df,aes(salary,..density..,fill=city),color='white') geom_density(data=df,aes(salary,..density..,color=city))
grid.arrange(p1,p2,p3,p4)

补充:R语言在直方图上添加正太曲线与核密度曲线

lines(x=横坐标向量,y=纵坐标向量),在已有图像上添加曲线

hist(数值型向量,freq=TRUE/FALSE)freq取TRUE纵坐标为频数,否则为频率

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • R语言histogram(直方图)的具体使用

    最近小仙同学很是烦恼,本以为自己已经掌握了ggplot2作图的语法,用read.csv(), ggplot()+geom_point()/boxplot()/violinplot()-就可以画遍天下图表,结果却发现到真正画图的时候,还是会出现不少的小问题. 比如小仙最近要画一个直方图,最开始用hist()函数试了一下,看了下形状, 好像因为数据取值范围跨度太大(最大值104,724,最小值30),这个图画出来有点丑,于是决定用ggplot美化一下. 调整之后好看是好看了,但是大家有没有看出什么不

  • R语言控制结构知识点总结

    if(condition) true_expression else false_expression if(condition) expression 因为表达式expression, true_expression, false_expression并非总是被执行,因此if函数的类型是special > typeof(`if`) [1] "special" 在R中.条件语句不是向量型运算 如果条件语句是由一个以上的逻辑值组成的向量,那么执行语句时只会用到向量中的第一个元素 x

  • R语言ggplot2边框背景去除的实现

    ggplot2是R语言功能强大的可视化包,但是在作图时有很多默认设置(边框,背景等)会影响图片美观度.比如我们用ggolot2做一个简单的柱状图,就会发现有灰色背景和白色线条.对于这一问题给出几种解决方案. ggplot(mtcars)+geom_bar(aes(x=cyl)) 1.theme_classic() 应用R自带的主题,比如theme_classic(),就可以使图片美观许多,不仅背景去掉了,坐标轴也更加清晰,如下图所示: ggplot(mtcars)+geom_bar(aes(x=

  • R语言表达式知识点总结

    R提供的组合表达式的结构: 分号 括号 花括号 分离型表达式 x = 1 y = 2 z = 3 x = 1; y = 2; z = 3 括号 括号会返回括号内表达式的执行结果 花括号 花括号用于执行一些列表达式(由换行符或者分号隔开),并返回最后一个表达式的执行结果 {expression_1; expression_2; ... ; expression_ } (笔记:函数花括号内的符号相当于局部变量) 花括号的底层操作是调用{} 到此这篇关于R语言表达式知识点总结的文章就介绍到这了,更多相

  • R语言strsplit函数用法深入详解

    1.R语言strsplit用于分割字符串 创建测试数据 > test <- "aa bb cc dd ee ff" ##创建测试数据 > test [1] "aa bb cc dd ee ff" > class(test) ## 测试数据为字符 [1] "character" 2.按照指定分隔符拆分字符串 > a <- strsplit(test,split = " ") ##制动分隔符为空

  • R语言作图之直方图histogram绘制过程详解

    先给大家介绍下R语言入门:直方图histogram的绘制,具体内容如下所示: 直方图和条形图最大的不同则是直方图可以用于显示出一个数据的频数,具有统计的作用,我们下面来看一一看直方图在R语言当中是如何绘制的吧! 首先创建一系列的数据: h<-c(4,6,3,46,3,5,7,8,3,4,3,4,5) 创建完之后将这个数据纳入到直方图histogram的绘制函数hist()当中,如下所示: hist(h,xlab = "number'scale",ylab="Right&

  • R语言关联规则深入详解

    在用R语言做关联规则分析之前,我们先了解下关联规则的相关定义和解释. 关联规则的用途是从数据背后发现事物之间可能存在的关联或者联系,是无监督的机器学习方法,用于知识发现,而非预测. 关联规则挖掘过程主要包含两个阶段:第一阶段从资料集合中找出所有的高频项目组,第二阶段再由这些高频项目组中产生关联规则. 接下来,我们了解下关联规则的两个主要参数:支持度和置信度. 用简化的方式来理解这两个指标,支持度是两个关联物品同时出现的概率,而置信度是当一物品出现,则另一个物品也出现的概率. 假如有一条规则:牛肉

  • R语言绘制频率直方图的案例

    频率直方图是数据统计中经常会用到的图形展示方式,同时在生物学分析中可以更好的展示表型性状的数据分布类型:R基础做图中的hist函数对单一数据的展示很方便,但是当遇到多组数据的时候就不如ggplot2绘制来的方便. *** 1.基础做图hist函数 hist(rnorm(200),col='blue',border='yellow',main='',xlab='') 1.1 多图展示 par(mfrow=c(2,3)) for (i in 1:6) {hist(rnorm(200),border=

  • R语言绘制直方图实例讲解

    直方图表示被存储到范围中的变量的值的频率. 直方图类似于条形图,但不同之处在于将值分组为连续范围. 直方图中的每个柱表示该范围中存在的值的数量的高度. R语言使用hist()函数创建直方图. 此函数使用向量作为输入,并使用一些更多的参数来绘制直方图. 语法 使用R语言创建直方图的基本语法是 hist(v,main,xlab,xlim,ylim,breaks,col,border) 以下是所使用的参数的描述 v是包含直方图中使用的数值的向量. main表示图表的标题. col用于设置条的颜色. b

  • 如何用R语言绘制饼图和条形图

    R 语言提供来大量的库来实现绘图功能. 饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量.频率或百分比之间的相对关系. R 语言使用 pie() 函数来实现饼图,语法格式如下: pie(x, labels = names(x), edges = 200, radius = 0.8, clockwise = FALSE, init.angle = if(clockwise) 90 else 0, density = NULL, angle = 45, col = NULL, bor

  • R语言实现支持向量机SVM应用案例

    IRIS数据集简介 IRIS数据集中的数据源于1936年费希尔法发表的一篇论文.彼时他收集了三种鸢尾花(分别标记为setosa.versicolor和virginical)的花萼和花瓣数据.包括花萼的长度和宽度,以及花瓣的长度和宽度.我们将根据这四个特征来建立支持向量机模型从而实现对三种鸢尾花的分类判别任务. 有关数据可以从datasets软件包中的iris数据集里获取,下面我们演示性地列出了前5行数据.成功载入数据后,易见其中共包含了150个样本(被标记为setosa.versicolor和v

  • 使用R语言绘制散点图结合边际分布图教程

    目录 1. 使用ggExtra结合ggplot2 1)传统散点图 2)密度函数 3)直方图 4)箱线图(宽窄的显示会有些问题) 5)小提琴图(会有重叠,不建议使用) 6)密度函数与直方图同时展现 2. 使用cowplot与ggpubr 1)重绘另一种散点图 2)有缝拼接 3)无缝拼接 参考 主要使用ggExtra结合ggplot2两个R包进行绘制.(胜在简洁方便)使用cowplot与ggpubr进行绘制.(胜在灵活且美观) 下面的绘图我们均以iris数据集为例. 1. 使用ggExtra结合gg

  • 如何用R语言绘制散点图

    散点图是将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定,每个点对应一个 X 和 Y 轴点坐标. 散点图可以使用 plot() 函数来绘制,语法格式如下: plot(x, y, type="p", main, xlab, ylab, xlim, ylim, axes) x 横坐标 x 轴的数据集合 y 纵坐标 y 轴的数据集合 type:绘图的类型,p 为点.l 为直线, o 同时绘制点和线,且线穿过点. main 图表标题. xlab.

  • 用R语言绘制函数曲线图

    函数曲线图是研究函数的重要工具. R 中 curve() 函数可以绘制函数的图像,代码格式如下: curve(expr, from = NULL, to = NULL, n = 101, add = FALSE, type = "l", xname = "x", xlab = xname, ylab = NULL, log = NULL, xlim = NULL, -) # S3 函数的方法 plot(x, y = 0, to = 1, from = y, xlim

  • R语言绘制空间热力图实例讲解

    先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始首先安装相关包 install_packages("devtools") install_packages("REmap") library(devtools) library(REmap) 我们来试试其强大的城市坐标获取功能 city<- c("beijing","上海") get_geo_

  • R语言绘制地图实例讲解

    setwd("C:/Users/75377/Desktop/SHEEP_ROH") png("12.png",width = 7000,height = 5500,pointsize = 170) par(mai = c(12,12,12,12),mgp = c(2.1,0.5,0)) #地图数据下载http://cos.name/wp-content/uploads/2009/07/chinaprovinceborderdata_tar_gz.zip librar

随机推荐