首页 > 解决方案 > ggplot2的操纵()滑块功能不起作用

问题描述

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

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

标签: rggplot2manipulate

解决方案


它与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.'))

推荐阅读