作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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)
为了产生这个:
如何添加“模型 1”和“模型 2”等标签来识别这些点? (更新:标签位置根据模型值确定,而不是事后完成)
最佳答案
第三种解决方案是创建包含文本标签的函数 taylor.diagram
的修改版本。在这种情况下,所有要做的就是添加一个参数,比如 text
,在调用原始函数中的 points
之后(右大括号前两行),行 text(sd.f * R, sd.f * sin(acos(R)), labels=text, pos=3)
。
taylor.diagram.modified <- function (ref, model, add = FALSE, col = "red",
pch = 19, pos.cor = TRUE, xlab = "", ylab = "",
main = "Taylor Diagram", show.gamma = TRUE,
ngamma = 3, gamma.col = 8, sd.arcs = 0, ref.sd = FALSE,
grad.corr.lines = c(0.2, 0.4, 0.6, 0.8, 0.9), pcex = 1,
cex.axis = 1, normalize = FALSE, mar = c(5, 4, 6, 6),
text, ...) #the added parameter
{
grad.corr.full <- c(0, 0.2, 0.4, 0.6, 0.8, 0.9, 0.95, 0.99,1)
R <- cor(ref, model, use = "pairwise")
sd.r <- sd(ref)
sd.f <- sd(model)
if (normalize) {
... #I didn't copy here the full function because it's quite long: to obtain it
... #simply call `taylor.diagram` in the console or `edit(taylor.diagram)`.
}
S <- (2 * (1 + R))/(sd.f + (1/sd.f))^2
}
}
points(sd.f * R, sd.f * sin(acos(R)), pch = pch, col = col,
cex = pcex)
text(sd.f * R, sd.f * sin(acos(R)), #the line to add
labels=text, cex = pcex, pos=3) #You can change the pos argument to your liking
invisible(oldpar)
}
然后在 text
参数中简单地提供一个标签名称:
require(plotrix)
set.seed(10)
data <- sort(runif(100, 8,12))
model <- sort(rnorm(100, 10, 4))
taylor.diagram.modified(data, model, text="Model 1")
model2 <- sort(rnorm(100, 10,2))
taylor.diagram.modified(data, model2, add = TRUE, text="Model 2")
关于r - 如何在泰勒图中标记点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15147452/
考虑函数 y=1/((1-x^5)(1-x^7)(1-x^11)) WolframAlpha 在几秒钟内计算出 MacLaurin 级数展开的前 1000 个元素: https://www.wolfr
(C) 计算序列 y = x - x3/3! + x5/5! - x7/7! + ..... 其中停止标准是 | xi/i! | #include int fact(int x){ if(x
我是一名优秀的程序员,十分优秀!