如何在泰勒图中标记点?

3

Plotrix包有一个名为taylor.diagram的函数,可以绘制两个向量 - 一个代表数据,另一个代表模型输出。

以下是一个示例:

require(plotrix)
set.seed(10)
data  <- sort(runif(100, 8,12))
model <- sort(rnorm(100, 10, 4))
taylor.diagram(data, model)

在这个例子中,我想要在改进模型之后更新图表:

model2 <- sort(rnorm(100, 10,2))
taylor.diagram(data, model2, add = TRUE)

要实现这个效果:

enter image description here

我该如何添加标签,例如“Model 1”和“Model 2”,以标识这些点? (更新:标签位置是根据模型值而不是事后确定的)
3个回答

4
第三种解决方案是创建一个修改版的函数,其中包括文本标签。在这种情况下,需要做的就是添加一个参数,例如

1

这里有两种方法

  1. example(taylor.diagram) 展示了一种不错的方法将图例放在右上角(在 1.5*sd(data), 1.5*sd(data)),但这需要两个点使用不同颜色。

  2. 另一个选择是根据原始Taylor 2001 reference中的方程式计算位置,或者从源代码复制到taylor.diagram函数附近:

    dy <- 1.1 # 文本偏移系数
    sd.f <- sd(model)
    R <- cor(data, model, use = 'pairwise')
    x <- sd.f * R
    y <- sd.f * sin(acos(R)) + dy * sd.f
    text(x, y, "Model")
    

    您需要为每个模型计算这些值,但只有模型输入和标签会更改。您可能还想保持偏移量不变。


0

与基本图形中的所有标签方式相同,使用text

text(1.5,0.5,labels = "Model2")
text(3.5,1,labels = "Model1")

enter image description here


我希望能够在不事先知道它们的位置的情况下绘制它们。 - Abe
@Abe,“taylor.diagram”的文档表明它不返回点的位置(或者实际上根本没有任何绘图信息),因此我认为你在这里没有太多选择。 - joran

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接