r - 填充图中水平线上方和下方的区域

标签 r plot

我想填充两条水平线上方和下方的区域。

这是我想出的:

 par(mfrow=c(1,2))
 x<-seq(1,24,1)
 y<-rnorm(24, 10, 2)

 for(i in 1:2) {
 plot(x,y,ylim=c(4,16))
 lines(x,y)
 abline(h=11)
 abline(h=9)}

 hyper<-y
 hyper[hyper<11]<-11
 polygon(x,hyper,col="gray")

我的主要问题是与水平线的交点不正确。

最佳答案

如果您仍然希望使用老式的graphics工具(plotablinelines等)来制作人物,其他建议与grid系统派生词(例如ggplot2)有关,则可以尝试使用自定义的裁剪区域,参见?clip:

par(mfrow=c(1, 2))
x <- seq(1, 24, 1)
y <- rnorm(24, 10, 2)

# 1st plot
plot(x, y, ylim=c(4,16), type='o')

# 2nd plot
plot(x, y, type='n', ylim=c(4,16))

clip(x1=min(x),x2=max(x), y1=11, y2=max(y))
polygon(c(min(x), x, max(x)), c(min(y), y, min(y)), col="gray")

clip(x1=min(x),x2=max(x), y1=9, y2=min(y))
polygon(c(min(x), x, max(x)), c(max(y), y, max(y)), col="gray")

clip(par("usr")[1], par("usr")[2], par("usr")[3], par("usr")[4]) # reset clipping region
lines(x,y, type='o')
abline(h=c(9, 11))

首先,我们设置没有绘图的绘图区域,然后设置两个不同的剪切区域(在其中使用灰色填充进行绘图),然后删除剪切区域并重新绘制带有线和点的绘图。

关于r - 填充图中水平线上方和下方的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23713494/

相关文章:

'FactoMineR'包中的轮换

r - 如何找到另一个变量的每个值的变量的平均值?

r - 提取 SpatialPolygons 中包含的栅格像元数

r - 混淆矩阵错误

python - 将 3d 钻孔轨迹转换为笛卡尔坐标并使用 matplotlib 绘制

python - Pandas 拆分列字符串并绘制唯一值

python - Python中的一个图形中的多个绘图

r - plotly 中每个因子水平的颜色

r - 是否可以在 R(基础图形)中旋转绘图?

c# - 绘制多维向量的 K-Means 聚类