如何 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
这里是初学者所以请温柔! ;)
我在 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