shiny 相关问题

Shiny是一个R包,只需使用R就可以轻松构建交互式Web应用程序。

如何实现相互依赖的输入和相应的过滤表?

我想显示一个表格,用户可以根据一列或多列动态过滤表格,不同的过滤器相互“尊重”。这与其他一些类似

回答 1 投票 0

为什么shinyjs::enable 对我的fileInput 不起作用?

在我闪亮的应用程序中,加载数据后我禁用了 fileInput。我还有一个条件重置按钮,可以让用户从头开始。然而,虽然shinyjs::disable() 是wo...

回答 1 投票 0

如何在单击按钮后更新文件输入的按钮标签?

有没有办法在单击按钮并触发事件完成后更新文件输入按钮的按钮标签?我自定义了 fileInput 调用以隐藏进度条和

回答 2 投票 0

如何将可绘图扩展的迷你图示例从 bslib 文档转换为 Highcharter 图?

bslib 有关于可扩展迷你图的有用文档。该文档使用 javascript 在卡片展开时修改现有的绘图。我正在尝试模仿同样的行为...

回答 1 投票 0

如何更改禁用的文本输入的标签颜色?

我不明白闪亮的textInput 的标签是如何用CSS 正确处理的。我在搜索时发现了许多不同的方法来更改标签属性,但在尝试使其适应......

回答 1 投票 0

如何防止用户取消选择 selectizeInput 的选项?

selectizeInput 的默认行为允许用户单击一个选项并通过按 Backspace 或 Delete 键将其删除。 有什么方法可以禁用这种行为吗? 我有一个应用程序...

回答 1 投票 0

用户上传文件后如何编辑RHandson表?

我构建了一个 R-shiny 应用程序,允许用户手动将数据键入 RHandsonTable 或上传 csv 文件。独立地来说,这些工作得很好。然而,我无法换钱...

回答 1 投票 0

如何在DT数据表中启用服务器端智能搜索?

为了演示目的,我在闪亮中实现了一个示例数据表,可以在其中搜索整个数据表(通过使用右上角的搜索字段)和/或在特定的c...

回答 2 投票 0

如何使用shinyChatR包配置聊天机器人?

我正在尝试制作一个可以对任何用户消息回答“你好”的聊天机器人。我尝试了不同的方法,但仍然没有完成...这是包文档和我的一个...

回答 1 投票 0

如何在反应过程完成之前强制 Shiny 更新 UI?

我正在开发一个与shinyChatR包一起使用的聊天机器人。当用户输入完必要的信息后,服务器需要几秒钟的时间来处理请求。虽然这件事...

回答 2 投票 0

如何使用dispatchAction向图表添加动画?

我想使用echarts4r插入这个动画: 我想使用 echarts4r 插入此动画: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Pie Chart Example</title> <!-- Include ECharts library --> <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.3.0/echarts.min.js"></script> </head> <body> <!-- Container for the chart --> <div id="chart-container" style="width: 600px; height: 400px;"></div> <script> // Your JavaScript code goes here // Define the option object var option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)' }, legend: { orient: 'vertical', left: 'left', data: [ 'Direct Access', 'Email Marketing', 'Affiliate Ads', 'Video Ads', 'Search Engines' ] }, series: [ { name: 'Access Source', type: 'pie', radius: '55%', center: ['50%', '60%'], data: [ { value: 335, name: 'Direct Access' }, { value: 310, name: 'Email Marketing' }, { value: 234, name: 'Affiliate Ads' }, { value: 135, name: 'Video Ads' }, { value: 1548, name: 'Search Engines' } ], emphasis: { itemStyle: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; // Create a chart using the provided option var myChart = echarts.init(document.getElementById('chart-container')); myChart.setOption(option); // Set up the interval function let currentIndex = -1; setInterval(function() { var dataLen = option.series[0].data.length; myChart.dispatchAction({ type: 'downplay', seriesIndex: 0, dataIndex: currentIndex }); currentIndex = (currentIndex + 1) % dataLen; myChart.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: currentIndex }); myChart.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: currentIndex }); }, 1000); </script> </body> </html> 查看更多。 我试过这个: library(shiny) library(echarts4r) ui <- fluidPage( echarts4rOutput(outputId = "chart1"), actionButton(inputId = "btn1", label = "Click") ) server <- function(input, output, session) { output$chart1 <- renderEcharts4r({ mtcars |> head() |> tibble::rownames_to_column("model") |> e_charts(model, elementId = "chart-container") |> e_pie(carb) |> e_tooltip() }) observe({ req(input$btn1) HTML( " // Create a chart using the provided option var chart1 = echarts.init(document.getElementById('chart-container')); chart1.setOption(option); // Set up the interval function var currentIndex = -1; setInterval(function() { var dataLen = option.series[0].data.length; chart1.dispatchAction({ type: 'downplay', seriesIndex: 0, dataIndex: currentIndex }); currentIndex = (currentIndex + 1) % dataLen; chart1.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: currentIndex }); chart1.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: currentIndex }); }, 1000);" ) }) } shinyApp(ui, server) 但是没有成功。 如何使用 echarts4r 包将此效果应用于图表? 我还想添加一个停止按钮来停止动画。但我什至无法通过单击创建的按钮来使其工作。 这里有一种可能性,它使用您提供的动画 JS 和 shinyjs 的一些细微修改来处理按钮的单击事件。我还实现了您想要的用于停止动画的按钮。 library(shiny) library(shinyjs) library(echarts4r) js_init <- " var chart1 = echarts.init(document.getElementById('chart1')); option = document.getElementById('chart1').htmlwidget_data_init_result.getOpts(); chart1.setOption(option); " js_run_anim <- " var currentIndex = -1; anim = setInterval(function() { var dataLen = option.series[0].data.length; chart1.dispatchAction({ type: 'downplay', seriesIndex: 0, dataIndex: currentIndex }); currentIndex = (currentIndex + 1) % dataLen; chart1.dispatchAction({ type: 'highlight', seriesIndex: 0, dataIndex: currentIndex }); chart1.dispatchAction({ type: 'showTip', seriesIndex: 0, dataIndex: currentIndex }); }, 1000); document.getElementById('btn1').setAttribute('disabled', 'disabled'); document.getElementById('btn2').removeAttribute('disabled'); document.getElementById('btn2').setAttribute('enabled', 'enabled'); " js_stop_anim <- " clearInterval(anim); var dataLen = option.series[0].data.length; chart1.dispatchAction({ type: 'downplay', seriesIndex: 0 , dataIndex: [...Array(dataLen).keys()] }); chart1.dispatchAction({ type: 'hideTip', seriesIndex: 0 , dataIndex: [...Array(dataLen).keys()] }); document.getElementById('btn1').removeAttribute('disabled'); document.getElementById('btn1').setAttribute('enabled', 'enabled'); document.getElementById('btn2').setAttribute('disabled', 'disabled'); " ui <- fluidPage( useShinyjs(), echarts4rOutput(outputId = "chart1"), actionButton(inputId = "btn1", label = "Start animation"), actionButton(inputId = "btn2", label = "Stop animation") ) server <- function(input, output, session) { output$chart1 <- renderEcharts4r({ mtcars |> head() |> tibble::rownames_to_column("model") |> e_charts(model) |> e_pie(carb) |> e_tooltip() }) observeEvent(input$btn1, { onclick("btn1", runjs(paste0(js_init, js_run_anim))) }, ignoreNULL = FALSE) observeEvent(input$btn2, { onclick("btn2", runjs(paste0(js_init, js_stop_anim))) }, ignoreNULL = FALSE) } shinyApp(ui, server)

回答 1 投票 0

为什么shinyjs的功能在随机选择视频时不起作用?

我想制作一个闪亮的应用程序,它随机选择两个视频之一,并且仅在视频播放后,才会生成一个单选按钮,询问人们是否观看了该视频。 这段代码可以正常工作...

回答 1 投票 0

如何根据多个条件增加 y 轴高度以适合 geom_text 标签?

我有一个应用程序,当未选择 p 值时,它看起来像这样: 当选择 p 值时,y 轴会扩展,这样星号就不会被截断: 其代码行是: {如果(...

回答 1 投票 0

R Shiny - 警告:[.data.frame 中的错误:创建两个交互式绘图时选择了未定义的列

我正在 R Shiny 中创建两个交互式图,虽然我可以让一个图显示并工作,但第二个图不断给我“警告:[.data.frame 中的错误:选择了未定义的列...”

回答 2 投票 0

如何在R中迭代获取reactable中的数据?

我正在尝试与 R 中闪亮的应用程序中的数据库进行交互。问题的要点是相关表有很多行,我不想将整个表拉下来以保存数据

回答 1 投票 0

更改轮播中的数字时如何保持控制栏状态

单击轮播的箭头时如何保持控制栏的状态(打开、关闭)。 例如,尊重折叠 = FALSE 覆盖 = FALSE 光滑R 库(svglite) 图书馆(闪亮) 图书馆(

回答 1 投票 0

如何在点击图片时显示模态框?

我在这里做错了什么? 主要代码: 图书馆(闪亮) 用户界面 <- bslib::page_navbar( title = 'Layout App', nav_panel( title = "First", fluidRow( class = 'first_page_grid'...

回答 1 投票 0

闪亮:<-: replacement has length zero when using wrapping X Axis Label

我正在尝试创建一个闪亮的仪表板,用户可以在其中根据下拉列表选择一个县。我的 X 轴值是长字符串,我想将其包装起来以便正确渲染。当我不使用时

回答 1 投票 0

为什么刷新页面时没有加载保存的选择信息?

我正在开发一个 R Shiny 应用程序,我希望保存用户输入,以便稍后可以再次加载它们(我知道我需要在 Shiny 服务器上运行它才能做到这一点,目前正在处理) 。

回答 1 投票 0

未提供错误行号时如何调试?

我正在使用shiny和shinydashboard来创建仪表板。最小示例代码如下: 图书馆(闪亮) 图书馆(闪亮的仪表板) 用户界面 <- dashboardPage( dashboardHeader(title = "...

回答 2 投票 0

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.