如何用R语言画图

Python012

如何用R语言画图,第1张

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+1z=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粘贴几行上来,我也试试;

(1)画什么函数的图像?数据是什么?

(2)生成100个[0,

100]的随机数,并画出分布直方图

12x <- runif(100, 0, 100)hist(x)

物种累积曲线( species accumulation curves)用于衡量和预测群落中物种丰富度随样本量扩大而增加的幅度,在生物多样性和群落调查中,被广泛用于判断样本量是否充分的并估计群落丰富度。

一般而言,在样本量较少的情况下,随着样本数量的增加,将有较大可能性发现大量新的物种,此时曲线呈急剧上升状态;当样本数量已经较大时,此时群落中的ASV/OTU总数将不再随着样本数量增加而显著增加,曲线将趋于平缓。

因此,通过物种累积曲线可以判断样本量是否充分:若曲线始终保持上升趋势,则表明样本量不足,反之,则表明样本量已足以反应群落的物种组成。在样本量充分的前提下,运用物种累积曲线还可以对物种丰富度进行预测。

下面我使用R脚本,vegan包对ASV/OTU丰度矩阵中每个样本所对应的SAV/OTU总数绘制specaccum物种累计曲线。

1.调用vegan包,读取物种数据;

2.使用 specaccum 函数用来计算物种的累计曲线;

3.作图展示。

如图,随着取样样本数量逐渐增加,所观测到的物种种类也不断增加。当曲线趋近平缓时,代表群落中的物种接近全部被观测到;反之不饱和,还需继续观测更多的样本数量。