我正在尝试在 Shiny 应用程序中使用 rCharts 将回归线添加到简单的散点图,但我无法让它工作。如果您删除 p$layer() 调用,以下代码可以很好地显示图形(没有回归线)。有了它,图形的轴被隐藏,没有线,虽然点仍然显示。我究竟做错了什么?

谢谢你的帮助。

output$kplot = renderChart({

     # Create dependency on submit button.
     input$submit

     # Add point when submit button is clicked.
     dataset = isolate(rbind(dataset, c(input$add_x, input$add_y)))

     # Re-fit data.
     dataset$fit = lm(dataset$mpg ~ dataset$hp)$fitted.values

     # Calculate graph minimums and maximums
     xmin = max(min(dataset$hp) - 10, 0) # Cut threshold at zero.
     xmax = (max(dataset$hp) + 11) + (50 - ((max(dataset$hp) + 10) %% 50))
     ymin = 0
     ymax = (max(dataset$mpg) + 1) + (5 - ((max(dataset$mpg) + 5) %% 5))

     p = rPlot(mpg ~ hp, data=dataset, type="point")
     p$addParams(dom="kplot")
     p$guides(
        x = list(
           min = xmin,
           max = xmax,
           numticks = xmax / 50 + 1,
           title = "HP"
        ),
        y = list(
           min = ymin,
           max = ymax,
           numticks = ymax / 5 + 1,
           title = "MPG"
        )
     )
     p$layer(y=dataset$fit, copy_layer=T, type="line", color=list(const="red"))
     return(p)
  })

最佳答案

请检查下面我从@ramnathv 的 github 复制的代码

https://gist.github.com/ramnathv/7576061

require(ggplot2)
require(rCharts)

dat = fortify(lm(mpg ~ wt, data = mtcars))
names(dat) = gsub('\\.', '_', names(dat))

p1 <- rPlot(mpg ~ wt, data = dat, type = 'point')
p1$layer(y = '_fitted', copy_layer = T, type = 'line',
  color = list(const = 'red'),
  tooltip = "function(item){return item._fitted}")
p1

关于r - 如何向 Shiny rCharts 图中添加回归线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24873033/

10-12 17:13