如何在rCharts r中自定义x轴

时间:2014-08-21 04:29:22

标签: r rcharts nvd3.js

我有从2013-07到2014-07的每月时间序列数据集,我正在尝试根据rCharts中nPlot中的数据集绘制条形图。情节看起来不错,但x轴的刻度仅显示2013-09,2013-12,2014-03,2014-06。那么我该怎样做才能更改刻度并显示所有月份(例如2013-07,2013-08,2013-09,...,2014-07)。

假设我的rChart图被称为n1。我是否需要更改n1 $ xAxis或n1 $图表中的内容?如果是这样,我该如何进行修改。

如果有任何建议,谢谢

1 个答案:

答案 0 :(得分:2)

要完成此任务,您需要一些Javascript。我试图在代码中评论您可能想要更改的内容。您还可以在tickValues中提供一系列值。

library(rCharts)

data(economics, package = 'ggplot2')
p6 <- nPlot(uempmed ~ date, data = economics, type = 'lineChart')
p6$xAxis(
  tickFormat = "#!function(d){return d3.time.format('%b %Y')(new Date(d*60*60*24*1000))}!#"
  #for everything
  #,tickValues = "#!data[0].values.map(function(v){return v[opts.x]})!#"
  #for something potentially more sensible
  ,tickValues = "#!data[0].values
      .map(function(v){
        return v[opts.x]
      })
      .filter(function(v){
        return d3.time.format('%m')(new Date(v*60*60*24*1000)) == '12' && +d3.time.format('%Y')(new Date(v*60*60*24*1000)) % 10 == 0
      })!#"
)
p6