繁体   English   中英

Highcharter plotBands,plotLines with time series data

[英]Highcharter plotBands, plotLines with time series data

在绘制时间序列时,在highcharter库的plotLinesplotBands指定值的正确方法是什么? 使用以下代码,绘图线显示在图表的左端,并且乐队根本不显示。 如果我没有指定type = 'stock'即使没有出现情节线。 这似乎是时间序列数据的问题,只有与其他类型的数据一样工作正常。 所以我相信我可能没有以正确的格式指定值。 除了代码中的那个,我已经尝试了时间序列格式,例如from = c(1990,1)但它也没有用。

library(highcharter)    
data =ts(data = sample(c(50:100),360, replace = TRUE), start = c(1987,1), frequency = 12, names = 'index')

highchart(type = 'stock')%>%
      hc_add_series_ts(data) %>%
      hc_xAxis(type = 'datetime',
               plotLines = list(
                 list(
                   label = list(text = "This is a plotLine"),
                   color = "#FF0000",
                   width = 5,
                   value = as.Date('1990-01-01', tz = 'UTC')
                   )
                 ),
                 plotBands = list(
                   list(
                     label = list(text = "This is a plotBand"),
                     color = "rgba(100, 0, 0, 0.1)",
                     from = as.Date('1995-01-01', tz = 'UTC'),
                     to = as.Date('1996-01-01', tz = 'UTC')
                     )
                   )
               )

这是结果图表 在此输入图像描述

需要使用datetime_to_timestamp函数转换所有日期值。

这是来自:

 from = as.Date('1995-01-01', tz = 'UTC'),
 to = as.Date('1996-01-01', tz = 'UTC')

至:

 from = datetime_to_timestamp(as.Date('1995-01-01', tz = 'UTC')),
 to = datetime_to_timestamp(as.Date('1996-01-01', tz = 'UTC'))

细节:

suppressPackageStartupMessages(library(highcharter))
dt <- as.Date("1995-01-01", tz = "UTC")
dt
#> [1] "1995-01-01"
datetime_to_timestamp(dt)
#> [1] 788918400000

希望这可以帮助。

产量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM