首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对非库存数据使用Highcharts库存类型功能(R)

对非库存数据使用Highcharts库存类型功能(R)
EN

Stack Overflow用户
提问于 2018-10-16 01:53:01
回答 1查看 515关注 0票数 1

我正在处理一个不是股市数据的时间序列。我想在R中使用highcharter来进行交互式可视化。我暂时做了一个这样的图表:

虚拟数据

代码语言:javascript
复制
library(tidyverse)
library(highcharter)   


data(economics_long, package = "ggplot2")

economics_long2 <- filter(economics_long,
                          variable %in% c("pop", "uempmed", "unemploy"))

hchart(economics_long2, "line", hcaes(x = "date", y = "value01", group = "variable"))

我想知道,有没有办法在这个图表的顶部添加一个日期过滤器,就像highcharter中type = 'stock‘图表中的日期过滤器一样。类似于此图的内容:

EN

回答 1

Stack Overflow用户

发布于 2018-10-16 04:17:01

我认为在基本的解决方案中,你可以创建自己的小工具/小工具。这是它的一种开始-全功能-你可以根据你的目的更好地设计它。

代码语言:javascript
复制
library(shiny)
library(miniUI)
library(highcharter)
library(tidyverse)


hightchart_filter <- function(data) {

  ui <- miniPage(
    miniContentPanel(

        # Dates ####
        dateInput("date_start", "start_date", value = "1900-01-01",   width = "25%"),
        dateInput("date_end", "end_date",  value = "2100-01-01", width = "25%"),

        # Highchart ####
        highchartOutput("high_plot", height = "500px")
      )
    )


  server <- function(input, output, session) {

    # update for data boxes
    updateDateInput(session, "date_start", value = data$date %>% min())
    updateDateInput(session, "date_end", value = data$date %>% max())

    # filter data
    data_filtered <- reactive({
      data %>% filter(between(date, input$date_start, input$date_end))
    })

    # Highchart ####
    output$high_plot <- renderHighchart({
      hchart(data_filtered(), "line", hcaes(x = "date", y = "value01", group = "variable"))
    })

  }

  runGadget(ui, server)
}

并运行它:

代码语言:javascript
复制
hightchart_filter(economics_long)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52822258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档