如何 return 从一个函数中绘制出一个 plotly figure?

How to return a plotly figure from a function?

这里是初学者所以请温柔! ;)

我在 R 中使用 plotly 来生成一些数字。

代码直接在脚本中 运行 时工作正常,但当我尝试从函数输出 plotly 数字时失败。

例如,输入以下内容 运行ning 会直接显示图形并且工作正常(data 是一个包含许多不同参数的列表):

fig1 <- plot_ly(x = 0:100, y = data[[parameter]], type = 'scatter', mode = 'lines', line = list(color = 'rgba(191,191,191,0.2)'))
fig1

我有很多剧情需要做,所以做了如下功能:

Special_plot <- function(data, parameter){fig1 <- plot_ly(x = 0:100, y = data[[parameter]], type = 'scatter', mode = 'lines', line = list(color = 'rgba(191,191,191,0.2)'))
    return(fig1)
}

函数运行s,但是在显示图形时出现错误消息:

fig1 <- Special_plot(data, parameter) 
fig1

这是错误信息:

Error: Tibble columns must have consistent lengths, only values of length one are recycled:
* Length 0: Column `y`
* Length 101: Column `x`
Run `rlang::last_error()` to see where the error occurred.

我有很多数字要处理,希望避免逐一输入。非常感谢任何帮助!

我认为您的 x 超出了限制。也许尝试像下面这样更改 x 变量。此外 0 索引在 R 中不存在。所以你必须从 1.

开始
 Special_plot <- function(data, parameter){ fig1 <- plot_ly(x = 1:length(data[[parameter]]), y = data[[parameter]], type = 'scatter', mode = 'lines', line = list(color = 'rgba(191,191,191,0.2)'))
        return(fig1)
    }

fig1 <- Special_plot(data, parameter) 
fig1