使用';directlabels';用于标记选择曲线的包
我有一个适合非线性模型的数据集。随后使用“ggplot2”软件包将数据和模型绘制在“R”中,以便数据和模型占用相同的ggplot。已经为一系列不同的(自由)参数值绘制了模型,我希望根据生成它们的参数值标记每个结果曲线。但是,当我使用“directlabels”包来完成此操作时,我最终会标记模型曲线和原始数据 为了更简单地说明这个问题,我创建了以下代码来生成三条带标签的曲线,我想知道是否有一种方法可以标记三条曲线中的两条(或一条)。我对使用ggplot2很陌生,所以完全有可能我误用了“ggplot”或“directlabels”。如果您能提供任何帮助,我们将不胜感激 代码如下:使用';directlabels';用于标记选择曲线的包,r,plot,ggplot2,R,Plot,Ggplot2,我有一个适合非线性模型的数据集。随后使用“ggplot2”软件包将数据和模型绘制在“R”中,以便数据和模型占用相同的ggplot。已经为一系列不同的(自由)参数值绘制了模型,我希望根据生成它们的参数值标记每个结果曲线。但是,当我使用“directlabels”包来完成此操作时,我最终会标记模型曲线和原始数据 为了更简单地说明这个问题,我创建了以下代码来生成三条带标签的曲线,我想知道是否有一种方法可以标记三条曲线中的两条(或一条)。我对使用ggplot2很陌生,所以完全有可能我误用了“ggplot
require("ggplot2")
require("reshape2")
require("directlabels")
# Test function
f <- function(x,y){
x^2 + y^2
}
# Define range of values for each variable
X <- seq(-4,4,0.1)
Y <- seq(0,4,2)
## Label all curves:
# Create data frame
M <- lapply(Y, f, X)
names(M) = Y
M <- melt(M, id.vars = "Y")
M <- cbind(M,X)
names(M) = c("value", "Y", "X")
# Plot (x, f(x,y)) for each value of y.
p <- ggplot(M, aes(x = X, y = M$value)) +
geom_line(aes(y = M$value, color = M$Y), group = M$Y)
p <- p + geom_dl(aes(label = M$Y), method = "top.bumpup")
p
require(“ggplot2”)
要求(“重塑2”)
要求(“直接标签”)
#测试功能
f我不知道是否有一种不那么笨重的方法,但一种解决方案是将不相关的标签更改为NA,将其保存到新变量并绘制它
newvar <- ifelse(M$Y == 0, NA, M$Y)
p + geom_dl(aes(label = newvar), method = "top.bumpup")
newvar它工作正常,并且很好地扩展到了我原来的问题。非常感谢。