假设我的水管工的东西.r文件如下所示.通过使用chrome访问路径并查看除\plotly端点之外的预期输出,我可以成功地测试每个端点.

在我的浏览器中访问时(即.,http://localhost:8000/plotly)我得到"发生异常错误".我不是在使用R Studio,我是在使用

pr("plumber.R") %>%  pr_run(port=8000)

关于我的错误在哪里有什么建议吗?

###水管工.R

library(plotly)
#* Plot a histogram
#* @serializer png
#* @get /plot
function() {
  rand <- rnorm(100)
  hist(rand)
}

#* Return the sum of two numbers
#* @param a The first number to add
#* @param b The second number to add
#* @get /sum
function(a, b) {
  as.numeric(a) + as.numeric(b)
}

#* Echo back the input
#* @get /dat
function() {
  data.frame(id = c(1,2,3,4), v2 = c(5,6,7,8))
}

#* @apiTitle HTML widgets API#* @apiTitle HTML widgets API
#* Return interactive plot using plotly
#* @serializer htmlwidget
#* @get /plotly
function() {
    fig <- plot_ly(data = iris, x = ~Sepal.Length, y = ~Petal.Length)
    fig
}

编辑以显示如何使用Pandoc解决此问题

我是用Vanilla RGui 4.1.3实现的,而不是RStudio IDE.所以,我手动安装了Pandoc 2.17.1.1.按照下面@jpiversen的建议,我做了以下事情.

我首先手动将setwd()用于本地安装Pandoc的位置.我需要这个,因为htmlwidgets:::find_pandoc()没有路径参数,它扫描目录.设置工作目录后,运行

htmlwidgets:::find_pandoc()
htmlwidgets:::.pandoc$version
htmlwidgets:::.pandoc$dir

这解决了问题,现在我可以查看plotly端点.

推荐答案

Update based on comments

错误消息:

<simpleError in htmlwidgets::saveWidget(val, tmpfile, selfcontained = TRUE, ...): Saving a widget with selfcontained = TRUE requires pandoc. For details see: github.com/rstudio/rmarkdown/blob/master/PANDOC.md>

似乎对应于函数plumber::serializer_htmlwidget(),其调用htmlwidget::saveWidget().

htmlwidget::saveWidget()的源代码中,我们可以看到EXACT错误消息是由!pandoc_available()触发的.

htmlwidget::pandoc_available()不同于rmarkdown::pandoc_available(),不知何故,它并没有找到你的潘多克.try run :

htmlwidgets:::find_pandoc()
htmlwidgets:::.pandoc$version
htmlwidgets:::.pandoc$dir

Original answer

这似乎运行得很好——可能只是因为你不能大摇大摆地看到它.

如果您从swagger运行此命令,您将获得绘图所需的HTML代码:

Screenshot swagger

但如果在浏览器中转到http://127.0.0.1:8000/plotly,则应该会看到plotly小部件:

Screenshot browser

抱歉图像太小了.

R相关问答推荐

是否可以通过另一个DF的内容过滤数据帧列表?

如何使用TukeyHSD绘制事后概率热图

是否可以 Select 安装不带文档的R包以更有效地存储?

管道末端运行功能

如何求解arg必须为NULL或deSolve包的ode函数中的字符向量错误

R Highcharts与两个位置关联的注释

如何直接从Fortran到R的数组大小?

如何将旋转后的NetCDF转换回正常的纬度/经度网格,并使用R?

使用sf或terra的LINESTRAING的累积长度

使用列/行匹配将两个不同维度的矩阵相加

将多个列值转换为二进制

在数据帧列表上绘制GGPUP

使用未知字符数(不受限制的最大长度)的Lookback有什么好的替代方案?

变长向量的矢量化和

用满足特定列匹配的另一行替换NA行

R try Catch in the loop-跳过缺少的值并创建一个DF,显示跳过的内容

如果满足条件,则替换列的前一个值和后续值

隐藏基于 case 总数的值

有没有办法将勾选/审查标记添加到R中的累积关联图中?

有没有办法更改ggplot2中第二个y轴的比例限制?