温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-03-11 09:24:08 来源:亿速云 阅读:886 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关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",col="blue",border = "red")

其中的参数h表示我们纳入进来的数据,这些数据将会在x轴上进行标定,xlab表示的是x轴的标签,ylab表示的是y轴的标签,col表示的是直方图的颜色,border表示的是直方图边缘的颜色,绘制的结果如下所示:

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

 如果想要对绘制的数据加以限制,比如说x轴上只绘制从0到20的数据,y也只绘制0到10的数据的话,则可以直接使用xlim和ylim来进行指定,指定的参数应当为向量(这个是R语言当中的规定)。

重新编写的代码如下所示:

> hist(h,xlab = "number'scale",ylab="Right",col="blue",border = "red",xlim=c(0,20),ylim=c(0,10))

出来的图像如下所示:

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

 这就是绘制直方图当中所有的内容了,它也是R语言当中绘图最简单的一个。

知识点扩展:R语言作图——histogram(直方图)

最近小仙同学很是烦恼,本以为自己已经掌握了ggplot2作图的语法,用read.csv(), ggplot()+geom_point()/boxplot()/violinplot()…就可以画遍天下图表,结果却发现到真正画图的时候,还是会出现不少的小问题

比如小仙最近要画一个直方图,最开始用hist()函数试了一下,看了下形状, 好像因为数据取值范围跨度太大(最大值104,724,最小值30),这个图画出来有点丑,于是决定用ggplot美化一下。

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

调整之后好看是好看了,但是大家有没有看出什么不对的地方,明明bins=10但是只画出8个格子,之后调整bins的值,每次都会比我指定的值少2个格子。而且,图中第一个格子(取值范围0-1250)应该有700多个数据,但是图上显示只有不到300个,问题出在哪里呢?小仙同学百思不得其解。在geom_histogram()函数中,bins就是用来指定分组数目(格子),为什么总是会少两个?

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

小仙同学考虑到自己能力有限,决定量力而行,另辟蹊径。

于是设置另外一个参数breaks,终于找回了丢失的格子

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

经过此事,小仙同学深刻认识到了自己的有限水平,哈哈。不过还是分享一下,希望能帮助到大家。实际的数据可真是比书上的例子难处理呢。

按照惯例写一下整个作图的过程

Step1. 绘图数据的准备

首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式。

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

Step2. 绘图数据的读取

data<-read.csv(“your file path”, header = T)
#注释:header=T表示数据中的第一行是列名,如果没有列名就用header=F

Step3.绘图所需package的安装、调用

library(ggplot2)
#注释:package使用之前需要调用

Step4.绘图

p<-ggplot(data, aes(x=data$销量)) +
geom_histogram(breaks=seq(0,10000,1000))+ xlim(0,10000)
p

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

感谢各位的阅读!关于“R语言作图之直方图histogram绘制过程详解”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI