breaks就是设置频率直方图中的分组。
HIST函数是用来创建一个直方图的 Matplotlib 函数。需要传的参数包括直方图的区间数、颜色、normed。
参考例子如下:
>data<-mtcars$wt#mtcars是R的内置数据集,选择wt列画图。
>summary(data)#data最小值为1.513,最大值为5.424。
Min.1st Qu.Median Mean 3rd Qu.Max.
1.513 2.581 3.325 3.217 3.610 5.424
>break1<-seq(1,6,1)#设置分组为(1,2) (2,3)...(5,6)
>hist(data,breaks=break1)
>break2<-seq(1,6,0.5)#设置分组为(1,1.5) (1.5,2) ...(5.5,6)
>hist(data,breaks=break2)
#画出两张直方图如下:
扩展资料
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输出,可实现分支、循环,用户可自定义功能。
参考资料来源:百度百科-R语言
参考资料来源:百度百科-HIST
q1, 首先要确定是barplot还是hist,如果是barplot的话,应该不存在breaks的问题,因为barplot的传入参数是个矩阵;
我假设你要画的是个hist,我偶遇过这个问题,我的理解是hist的breaks的值要能被范围整除才行;比如x=1:200,break=7的话,就只能画出4个柱来,但如果breaks=10就没问题;基本上是这样的,偶尔也有例外;比如break=5就不行....奇怪得很
最后,没办法的办法,就只能用barplot代替hist了,barplot肯定不会有这个问题,统计下hist参数中的分布情况,转换成矩阵,用barplot吧;
q2, 貌似一般都用一组因素把这些类别区分开,我用abcde,表示你的小学,中学...了,比如这样:
a=1:7b=8:10c=c(9,10,11)d=c(40,55)e=100:110f=factor(c(rep(1,sum(length(a),length(b),length(c))),rep(2,sum(length(d),length(e)))))#先用c()生成数组,在转换成factor,其实数组也ok的,不过plot()中两个数组和factor不一样
x=c(a,b,c,d,e)
plot(x~f)
q3, 就我所知不行;yes或no一定也要是能映射到x,y范围内的点才行;你是想表示分类结果吗?如果是的话,通常用颜色,或者在点旁边的text表示。
q4, 举个例子吧
x=-50:50y=x^2+x+1
z=10*abs(x)+1
plot(x,y,type='l')
lines(x,z,lty=3)
legend(c('type1','type2'), x=-20,y=2500, col=c('black','red'), lty=c(1,3))
legend的x和y是legend的左上角,匿名参数是类型名称,col,lty,pch 是对应的颜色,线类型,和点类型。
最后,我现在多用ggplot2,如果不抵触的话可以看看,和R的基础作图包思路不是很一样,但是图很清新的;
如果还有问题,建议把数据集data.frame粘贴几行上来,我也试试;