标签: shinysky

闪亮服务器中的动态颜色输入

我正在尝试使用 Shiny 创建一个应用程序,我希望用户能够选择图中每条线的颜色。大体思路是在应用程序中导入数据,然后绘制数据中的每个变量。我尝试使用shinysky包中的颜色选择器'jscolorInput',当放置在ui.r文件中时它工作正常,但由于我希望我的应用程序对于上传的每个数据集都是动态的,我需要将颜色选择器放在服务器中。 R,使用反应函数。当放置在服务器中时,'jscolorInput' 不起作用。

我想做的是:

  1. 将颜色选择器重现与数据中变量的数量一样多
  2. 从颜色中获取输入并将其作为绘图中的颜色参数传递

我在闪亮的开发和 stackoverflow 方面都很新,所以请原谅我的错误。

这是一个不起作用的可重现示例。

require(shinysky)
require(shiny)

dat <- data.frame(matrix(rnorm(120, 2, 3), ncol=3))

runApp(list(
ui = bootstrapPage(
    # The reactive colorpicker
    uiOutput('myPanel'),
    # The plot
    plotOutput('plot')
),
server = function(input, output) {
    # Print as many colorpickers as the columns in the dataset
    cols <- reactive({
        n <- ncol(dat)
        for(i in 1:n){
            print(jscolorInput(paste("col", i, sep="_")))    
        }
    })

        output$myPanel <- renderPrint({cols()})
    # Put all the input in a vector
    colors <- reactive({
        n <- …
Run Code Online (Sandbox Code Playgroud)

r shiny shinysky

5
推荐指数
1
解决办法
2096
查看次数

可以使用shinysky 在动态变化的数据帧上实现预先输入吗?

我正在尝试使用 R 中的 ShinySky 包在 Shiny 中填充 Typeahead 框。

我正在尝试扩展示例,其中用于预填充 Typeahead 的数据被硬编码到textInput.typeahead函数中:

textInput.typeahead(
        id="thti"
        ,placeholder="type 'name' or '2'"
        ,local=data.frame(name=c("name1","name2"),info=c("info1","info2")) #<- LOOK!
        ,valueKey = "name"
        ,tokens=c(1,2)
        ,template = HTML("<p class='repo-language'>{{info}}</p> <p class='repo-name'>{{name}}</p> <p class='repo-description'>You need to learn more CSS to customize this further</p>")
      )
Run Code Online (Sandbox Code Playgroud)

在函数中间定义一个本地数据框不是我想要做的,就像这里的例子一样:

,local=data.frame(name=c("name1","name2"),info=c("info1","info2")) 
Run Code Online (Sandbox Code Playgroud)

我想提供一个参数,local它是一个反应对象,它是在 Shiny 的其他地方创建的。

到目前为止,我一直无法这样做。

这是我尝试使用反应性动态填充 Lookhead 选项的策略:

1)让用户使用滑块对数据帧进行子集化。
2) 设置 Lookahead 以读取子集数据帧,使用类似,local=subset(DF)
3) 希望 Lookahead 按预期工作。

看起来够简单吗?这是一个屏幕截图,您可以清楚地看到 Lookhead 没有出现在 111 的用户输入下方。下面是我的代码。任何帮助将不胜感激。

在此处输入图片说明

library(shiny)
library(shinysky)
options(shiny.trace = F)  # change …
Run Code Online (Sandbox Code Playgroud)

typeahead shiny shinysky

5
推荐指数
0
解决办法
255
查看次数

在Shiny app中通知用户他的错误输入

我们来看看其中一个演示.

runExample("09_upload")
Run Code Online (Sandbox Code Playgroud)

我正在使用提供的文件执行一些计算并显示所有上传文件的聚合性能.因此,我使用类似的东西

tryCatch(compute.smth(), error=function(e){})
Run Code Online (Sandbox Code Playgroud)

这样显示的结果不会受到错误输入的影响.但是,我想以某种方式表明上传坏文件会导致错误,通知用户输入的问题.它会是这样的

tryCatch(compute.smth(), error=badFile())
Run Code Online (Sandbox Code Playgroud)

其中badFile()应该修改一些可显示的输出.有任何想法吗?作为最后的手段,可能是一个选择,但我想要一些原生的Shiny.

r shiny shinysky

3
推荐指数
1
解决办法
1040
查看次数

标签 统计

shiny ×3

shinysky ×3

r ×2

typeahead ×1