ggplot2的handle滑块功能不起作用

问题描述

当我使用manipulate()函数时,以下代码段不起作用。仅图表显示了滑块的初始值,但未显示控件。我使用了plot()函数,该控件出现了。

myHist <- function(mu){
mse <- mean((galton$child - mu)^2)
g <- ggplot(galton,aes(x = child)) + geom_histogram(fill = "salmon",colour = "\
black",binwidth=1)
g <- g + geom_vline(xintercept = mu,size = 3)
g <- g + ggtitle(paste("mu = ",mu,",MSE = ",round(mse,2),sep = ""))
g
}
manipulate(myHist(mu),mu = slider(62,74,step = 0.5))

解决方法

它与ggplot有关。不是代码。

它发生在我身上。但是如果我之前使用另一个示例,带有基本图,它是固定的。也就是说,在它与基本图一起工作之后,它对我来说与 ggplot 一起工作。例如:

f <- function(disp) {
 set.seed(1516)
 plot(density(x = rnorm(n = 40000,mean = 15,sd = disp),from = 0,to = 30))
}

manipulate(f(disp),dispersion = slider(min = 0.5,max = 4,initial = 2,step = 0.5,label = 'Est. Dev.'))