x.axis dygraph 中的日期和实际日期不匹配
x.axis date and real date does not match in dygraph
这是我在 R 中使用 dygraph 绘制的图:
http://rpubs.com/victordongy/332717
显然,x.axis与每个点的真实日期不匹配,数据集e_n
如下:
ratio_en ratio_con_en ch_oil_manu_p ch_mineral_p ch_oil_gas_p
1929-12-31 0.03622237 0.04397706 NA NA NA
1930-12-31 0.04227732 0.04880694 NaN NaN NaN
1931-12-31 0.04754198 0.05297158 NaN NaN NaN
1932-12-31 0.05634319 0.06386555 NaN NaN NaN
1933-12-31 0.05670123 0.06643357 NaN NaN NaN
1934-12-31 0.05018593 0.06137725 NaN NaN NaN
而我的R代码是:
dygraph(merge(e_n$ratio_en,e_n$ratio_con_en), main = "Ratio of Energy Investment over GDP") %>%
dyAxis("x",valueRange = c(1929:2016)) %>%
dyAxis("y", label = "Ratio")
问题是,由于日期时间设置为以12-31结尾,所以我认为dygraph将每个日期识别为下一年的最近日期,这将使每个点的日期时间是明年的第一天。
正如我在我的代码中所显示的那样,我尝试使用 valueRange
或 c(1929,2016)
或 c("1929-12-31","2016-12-31")
来至少显示该点的确切年份,但没有任何改变仍然。
任何想法都会有所帮助。
您的测字仪工作正常。你的印象是它得到了错误的年份,但它只是在绘制一年的最后一天。如果你放大,你会看到点在左边一点点。
如果你想让你的积分在年初被抽取,你需要相应地转换你的索引。
所以如果我们调用 data_xts
你的时间序列。
data_xts <- e_n[,c("ratio_en","ratio_con_en")]
index(data_xts) <- as.Date(paste(format(index(test),"%Y"),"01/01",sep="/"))
例如我们将1929-12-31
转换为1929-01-01
这是我在 R 中使用 dygraph 绘制的图:
http://rpubs.com/victordongy/332717
显然,x.axis与每个点的真实日期不匹配,数据集e_n
如下:
ratio_en ratio_con_en ch_oil_manu_p ch_mineral_p ch_oil_gas_p
1929-12-31 0.03622237 0.04397706 NA NA NA
1930-12-31 0.04227732 0.04880694 NaN NaN NaN
1931-12-31 0.04754198 0.05297158 NaN NaN NaN
1932-12-31 0.05634319 0.06386555 NaN NaN NaN
1933-12-31 0.05670123 0.06643357 NaN NaN NaN
1934-12-31 0.05018593 0.06137725 NaN NaN NaN
而我的R代码是:
dygraph(merge(e_n$ratio_en,e_n$ratio_con_en), main = "Ratio of Energy Investment over GDP") %>%
dyAxis("x",valueRange = c(1929:2016)) %>%
dyAxis("y", label = "Ratio")
问题是,由于日期时间设置为以12-31结尾,所以我认为dygraph将每个日期识别为下一年的最近日期,这将使每个点的日期时间是明年的第一天。
正如我在我的代码中所显示的那样,我尝试使用 valueRange
或 c(1929,2016)
或 c("1929-12-31","2016-12-31")
来至少显示该点的确切年份,但没有任何改变仍然。
任何想法都会有所帮助。
您的测字仪工作正常。你的印象是它得到了错误的年份,但它只是在绘制一年的最后一天。如果你放大,你会看到点在左边一点点。
如果你想让你的积分在年初被抽取,你需要相应地转换你的索引。
所以如果我们调用 data_xts
你的时间序列。
data_xts <- e_n[,c("ratio_en","ratio_con_en")]
index(data_xts) <- as.Date(paste(format(index(test),"%Y"),"01/01",sep="/"))
例如我们将1929-12-31
转换为1929-01-01