如何在Shiny rCharts图中添加回归线

时间:2014-07-21 19:22:13

标签: r shiny rcharts

我试图在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)
  })

1 个答案:

答案 0 :(得分:2)

请检查我从@ 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