gpt4 book ai didi

javascript - 如何从 Highcharter 股票图表中提取最小和最大日期?

转载 作者:行者123 更新时间:2023-12-01 00:54:40 24 4
gpt4 key购买 nike

我想提取 Highcharter“股票”图表上可视化的使用点击时选择的最大和最小日期。

将这些日期保存在变量中以便在其他位置访问。如何访问这些日期?

highchart(type = "stock") %>%
hc_add_series(df, hcaes(DateTime, Count),type = "column") %>%
hc_xAxis(type = "datetime",
dateTimeLabelFormats = list(day = '%d of %b'))

示例数据:

DateTime            Count
<dttm> <int>
1 2019-01-01 00:00:00 5
2 2019-01-01 01:00:00 2
3 2019-01-01 02:00:00 1
4 2019-01-01 03:00:00 2
5 2019-01-01 04:00:00 1
6 2019-01-01 05:00:00 1

最佳答案

不完全确定最小和最大日期的含义。点击后您预计会发生什么?

1。事件创建

创建一个获取并存储值的JavaScript点击事件。

click_event <- JS("
function(event) {
// Get value of clicked column
var clickedValue = event.point.name;

// Store it in input$bar_clicked
Shiny.onInputChange('bar_clicked', clickedValue);
}
")

2。包括事件

并将点击事件添加到您的 Highchart 对象hc_plotOptions(column = list(events = list(click = click_event)))。 (基于Highcharts API documentation)

此后,您将能够在 Shiny 中的任何位置使用 input$bar_clicked 变量。

完整代码:

library(tibble)
library(highcharter)
library(shiny)

df <- tribble(
~DateTime, ~Count,
"2019-01-01 00:00:00", 5,
"2019-01-01 01:00:00", 2,
"2019-01-01 02:00:00", 1,
"2019-01-01 03:00:00", 2,
"2019-01-01 04:00:00", 1,
"2019-01-01 05:00:00", 1
)

click_event <- JS("
function(event) {
// Get value of clicked column
var clickedValue = event.point.name;

// Store it in input$bar_clicked
Shiny.onInputChange('bar_clicked', clickedValue);
}
")

ui <- fluidPage(
highchartOutput("hc"),
verbatimTextOutput("txt")
)

server <- function(input, output, session) {
output$hc <- renderHighchart( {
highchart(type = "stock") %>%
hc_add_series(df, hcaes(DateTime, Count),type = "column") %>%
hc_xAxis(type = "datetime",
dateTimeLabelFormats = list(day = '%d of %b')) %>%
hc_plotOptions(column = list(events = list(click = click_event)))
})

# Print the variable
output$txt <- renderPrint( {
input$bar_clicked
})
}

shinyApp(ui, server)

输出

Output

关于javascript - 如何从 Highcharter 股票图表中提取最小和最大日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56681463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com