我使用了dygraph並希望將x軸粒度從每天更改爲每年。 我有幾個日常數據點,格式爲c(「2009-01-01」,「2010-01-01」,「2011-01-01」),x軸刻度出現在2009年1月,6月2009年,2010年1月,2010年6月 我想x軸只顯示爲 「2009年,2010年,2011」 對應於實際存在的數據點..R Dygraphs從每月到每年的X軸粒度
我有以下代碼:
dygraph(hhinfl) %>% dyLegend(width=400, show="auto") %>% dyOptions(drawPoints=TRUE, pointSize=3) %>% dySeries("Household Inflation", color="#0174DF") %>% dySeries("date", color="#FFFFFF")%>% dySeries("Average Inflation", color="#DF0101") %>% dyAxis("y", label="Inflation Rate (%)") %>% dyAxis("x", drawGrid = FALSE, axisLabelFormatter="function(d) { return d.getFullYear() }")
它返回x軸上每個日期的年份,但這意味着有多年,如 「2009年1月,2009年6月,2010年1月,2010年6月」變成「2009,2009,2010,2010」
或者,另一個代碼顯示:
dygraph(hhinfl) %>% dyLegend(width=400, show="auto") %>% dyOptions(drawPoints=TRUE, pointSize=3) %>% dySeries("Household Inflation", color="#0174DF") %>% dySeries("date", color="#FFFFFF")%>% dySeries("Average Inflation", color="#DF0101") %>% dyAxis("y", label="Inflation Rate (%)") %>% dyAxis("x", drawGrid = FALSE, ticker= " function (a, b, pixels, opts, dygraph, vals) {return Dygraph.getDateAxis(a, b, Dygraph.YEARLY, opts, dygraph);}", axisLabelFormatter="function(d) { return d.getFullYear() }")
根本不返回任何圖形,除了y軸。
我該如何解決這個問題?
hhinfl是一個XTS文件構造如下:
dateseq<- seq(from=as.Date("2010-01-01"),to=as.Date("2013-12-31"),by="year")
household<- c(2.3, 2.4, 2.5, 3.1)
avg<- c(2.5, 2.6, 2.7, 3.1)
hhinfl<- data.frame(date=dateseq, hh=household, average=avg)
colnames(hhinfl)<- c("date", "Household Inflation", "Average Inflation")
hhinfl<-xts(hhinfl, order.by=hhinfl$date)
請提供您的數據幀或其中的一小部分(使用dput()來生產它)。這樣回答者可以運行代碼來測試他們的答案。 – lawyeR
@lawyeR謝謝你的意見,我現在已經包含了構建數據框所需的代碼 – stochastiq
dySeries錯誤(。,「家庭充氣」,顏色=「#0174DF」): 一個或多個指定系列是未找到。有效的系列名稱是:日期,時,平均。這是我運行MWE代碼時得到的錯誤。 – lawyeR