将ggplot /操作绘图转换为plotly或js-scripted绘图

时间:2018-05-07 07:50:45

标签: r ggplot2 r-plotly

我试图使用ggplotly()将我的ggplot转换为情节图。但是,在对绘图进行操作后,它似乎无法处理此代码。还有其他办法吗?

library(ggplot2)
library(manipulate)
grades <- data.frame(Final = 20 * runif(70))
myFinalsPlot <- function(sliderInput, initialIndex, finalIndex) {
  ggplot(data.frame(grades$Final[initialIndex:finalIndex]),
     aes(x = grades$Final[initialIndex:finalIndex])) +
geom_histogram(aes(y = ..density..),
               binwidth = sliderInput, colour = "green", fill = "yellow") +
geom_density(alpha = 0.2, fill = "#FF6666") +
labs(x = "Marks", y = "Grades")
}

myFinalsPlot <- manipulate(myFinalsPlot(slidersInput, 1, 70),
                       slidersInput = slider(1, 12, step = 1, initial = 5))

1 个答案:

答案 0 :(得分:0)

首先,要使代码与ggplot2图一起使用,您的代码中存在需要修复的问题。您不应该为您的函数和绘图对象指定相同的名称。替换这个:

myFinalsPlot <- manipulate(myFinalsPlot(slidersInput, 1, 70),
                   slidersInput = slider(1, 12, step = 1, initial = 5))

通过,例如:

myPlot <- manipulate(myFinalsPlot(slidersInput, 1, 70),
                   slidersInput = slider(1, 12, step = 1, initial = 5))  

现在,关于plotly图,我不认为它应该与操作一起使用。我引用了RStudio的网站{​​{3}}:

  

RStudio与操作包一起使用,为标准 R图添加交互功能。