如何根据指定的 x 值在每个图中绘制水平线?例如,当我在 x 轴上有 X=1 时,绘图上的匹配点是 (1,y0),然后画一条水平线 Y=y0?
一个使用虹膜数据的工作示例,在 x=0.5 处只有一条垂直线:
iris = read.table("http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data", sep=',', header=F)
names(iris) = c("sepal.length", "sepal.width", "petal.length", "petal.width", "iris.type")
xyplot(sepal.length ~ petal.width | iris.type, data = iris,
panel = function(...) {
panel.abline(v=0.5, lty = "dotted", col = "black")
panel.xyplot(...)
})
但我也希望以这种方式显示水平线:在iris-setosa
图形(面板)中看到,一条水平线通过 (0.5,y) 处的点标记——我手动绘制。我不知道如何在 panel.abline 中指定 y,因为 y 是一个变量,每个面板看起来都不同。
在我的实际数据中,我的 x 和 y 具有一对一的关系。
我认为这应该是一个简单的问题,但不知道如何解决这个问题。我希望这更清楚。