rcharts nPlot不识别x轴上的四分之一值

时间:2014-05-01 07:00:16

标签: r rcharts

使用rCharts和R还是很新的,所以如果这个问题听起来很愚蠢,请原谅!

我尝试使用沿x轴的Quarter标签绘制时间序列图表,简单示例:

quarters <- c("Q413","Q313","Q213","Q13")
values <- c("120","40","60","80")
testing = data.frame(quarters,values)
tfrPlot <- nPlot(x="quarter", y="values", data = testing, type = "lineChart")

但是这并没有绘制图形,而是在x轴上生成介于-1和1之间的值。我确保宿舍也是因素,所以我不知道如何继续。

1 个答案:

答案 0 :(得分:1)

错误主要是由拼写错误x="quarter导致的x=quarters,但即便如此,我们也会遇到错误。带有lineChart的nvd3要求y为数字或连续,因此还需要values<-as.numeric(c("120","40","60","80"))。然后,rCharts中从R到Javascript的日期转换是still not optimal。强制它工作的一种方法是以数字形式传递日期,然后告诉nvd3如何处理它。这是一个例子:

quarters <- as.Date(c("2013-03-31", "2013-06-30", "2013-09-30", "2013-12-31"))
values <- as.numeric(c("120","40","60","80"))
testing = data.frame(quarters,values)
tfrPlot <- nPlot(x="quarters", y="values", data = testing, type = "lineChart")
tfrPlot$xAxis(
  tickFormat = 
    "#! function(d) {
        return d3.time.format('%b %Y')(new Date(d * 24 * 60 * 60 * 1000))
    } !#"
)
tfrPlot

你可能会同意这比它应该更痛苦,我们正在研究一种更好的方法来解决这个问题。