如何去除Highcharter包中预测图表里的点及其他符号?
解决Highcharter绘制nnetar预测图时去除数据标记的问题
我来帮你搞定这个问题!你遇到的差异是因为highcharter对不同类型的预测对象(NNETARForecast和ArimaForecast)默认的绘图配置不一样——nnetar生成的预测图默认开启了数据点标记(点、三角、方块),而auto.arima的图默认关闭了这些标记。
解决方案:统一关闭所有线条的标记
只需要在hchart之后链式调用hc_plotOptions,设置所有line类型系列的marker为禁用状态即可:
library(highcharter) library(forecast) # 修正数据生成代码(原代码少了df$,补上保证可运行) set.seed(123) # 加入随机种子让结果可重复 df <- data.frame(data = rnorm(54, mean = 2000)) ts_data <- ts(df$data, start = 2017, frequency = 12) modelo <- nnetar(ts_data, p=1,P=1, size=1) nnetforecast <- forecast(modelo, h = 12, PI = T) # 去除所有数据标记的绘图代码 hchart(nnetforecast) %>% hc_plotOptions( line = list(marker = list(enabled = FALSE)) )
可选:精准控制单个系列的标记
如果你想保留某几个系列的标记(比如原始数据点,去掉预测值的标记),可以通过hc_series逐个配置:
hchart(nnetforecast) %>% hc_series( list(marker = list(enabled = TRUE)), # 保留原始时间序列的标记 list(marker = list(enabled = FALSE)), # 关闭预测值的标记 list(marker = list(enabled = FALSE)), # 关闭置信区间上限的标记 list(marker = list(enabled = FALSE)) # 关闭置信区间下限的标记 )
这样调整后,你的nnetar预测图就会和auto.arima生成的图样式一致,不再显示多余的符号啦!
内容的提问来源于stack exchange,提问作者Jorge Hernández
相关产品推荐
相关产品推荐

