ZBLOG

source("public_functions.R") function(input, output, session) { ##################### Home Page START! ##################### output$tools_count

这是一个基于Shiny框架的R语言应用程序,用于展示某项数据的统计、浏览数据、网络分析等功能。

function(input, output, session) {

定义Shiny应用程序的回调函数,接收输入参数input,输出结果到UI界面output,并提供与会话相关的信息session

  output$tools_count <- renderValueBox({
    valueBox(
      value = 100, # formatC(downloadRate, digits = 1, format = "f"),
      subtitle = "某项数据的统计",
      icon = icon("area-chart"),
      color = "yellow" # if (downloadRate >= input$rateThreshold) "yellow" else "aqua"
    )
  })

在UI界面上渲染一个值盒子(value box),其中包含某项数据的统计结果。使用了shinydashboard和fontawesome等库。

  get.slider.year.range <- reactive({
     # 
     data.frame(start = input$year.range[1],
                end   = input$year.range[2]
     )
  })

通过响应式函数实时获取用户在页面上选择年份范围的值,并将其转换成一个数据框。

  load("data/statistics/publications.statistics.RData")
  
  output$plot.publications.count <- renderEcharts4r({
    
    data4plot <- publications.statistics.data 
    
    range <- get.slider.year.range()
    
    data4plot <- subset(data4plot, Year <= range$end & Year >= range$start)
    statistic.data <- get.statistic.data4echart4r(data4plot)
    
    width = 20
    statistic.data %>% 
      e_charts(years) %>% 
      e_bar(tools, barWidth = width) %>% 
      e_pictorial(papers, symbol = "rect", symbolRepeat = TRUE, z = 1, 
                  symbolSize = c(width, 4)) %>% 
      e_theme("westeros") %>% 
      e_title("",subtext = "The counts of publications")
    
  })

渲染一个基于ECharts库的柱状图,用于展示论文数量的统计结果。首先通过load()函数加载预处理好的数据,然后使用响应式函数获取用户选择的年份范围。接着对数据进行子集筛选,并将其转换成适合ECharts绘图的格式。最后调用e_charts()等函数生成柱状图。

  output$showtable = DT::renderDataTable({
    datatable(mtcars, extensions = 'Responsive')
  })

在UI界面上渲染一个可交互的响应式数据表格,展示了mtcars数据集。

  load("data/networks/tool.review.edge.data.RData")
  load("data/networks/tool.review.node.data.RData")
  
  get.network.slider.year.range <- reactive({
    # 
    data.frame(start = input$network.range[1],
               end   = input$network.range[2]
    )
  })
  
  output$plot.network <-  renderEcharts4r({
    
     range <- get.network.slider.year.range()  
     
     nodes <- subset(tool.review.node.data, year <= range$end & year >= range$start)
     
     nodes$citation <-  nodes$citation + 10
     
     edges <- tool.review.edge.data
      
     e_charts() %>% 
     e_graph() %>% 
     #e_graph_gl(layout = "force") %>%
     e_graph_nodes(nodes, pmid, citation, size, type) %>% 
     e_graph_edges(edges, source, target) %>% 
     e_tooltip() %>%
     e_show_loading()
    
  })

渲染一个基于ECharts库的节点图,用于展示工具之间的关联网络。首先通过load()函数加载预处理好的数据,然后使用响应式函数获取用户选择的年份范围。接着对数据进行子集筛选,并将其转换成适合ECharts绘图的格式。最后调用e_charts()等函数生成节点图。

整个代码是一个典型的Shiny应用程序回调函数,通过响应式编程实现了与用户交互、动态更新页面内容、展示可视化结果等功能。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=4536

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?