首页 > 解决方案 > 如何在 r 中绘制最小值、最大值和平均值

问题描述

我一直在阅读如何在 r 中绘制点,但找不到任何与我的问题相匹配的内容。我的数据是一个矩阵;这些行以名为“站点”的列开头,后面是包含参数的三列:最小值、平均值和最大值。矩阵中有四行,对应于 4 个站点。

我想要的是一个图表,它在 x 轴上有 4 个站点,每个站点上方的三个数据点(最小值、平均值最大值)由一条线连接。平均值将由一个圆圈表示,而最小值和最大值由一个横线表示。每个装置将由一条线连接。我的输出看起来像一个没有盒子和连接手段的线的箱线图。

谁能帮我?这似乎是一个简单的问题,但我很难过。

标签: rdata-visualizationmeanmaxminimum

解决方案


定义一个随机矩阵:

set.seed(1)

n_sites <- 4

myMatrix <- cbind(t(replicate(n_sites,sort(rnorm(3)))),1:n_sites)
dimnames(myMatrix) <- list(paste("Site",1:n_sites),c("Min","Mean","Max","n"))

阴谋:

plot(c(1,n_sites),range(myMatrix),type="n",xlab="",ylab="",xaxt="n",las=1)
axis(1,1:n_sites,rownames(myMatrix))
arrows(x0=1:n_sites,y0=myMatrix[,"Min"],x1=1:n_sites,y1=myMatrix[,"Max"],angle=90,code=3,length=0.1)
points(1:n_sites,myMatrix[,"Mean"],bg="white",pch=21,type="o")
text(1:n_sites,myMatrix[,"Max"],myMatrix[,"n"],pos=3)

阴谋

我喜欢arrows()在这种情况下使用。


推荐阅读