rCharts格式化

时间:2015-10-05 05:39:02

标签: r rcharts

我对rCharts格式有点挣扎,这是我演示文稿的一部分,我需要使用Highcharts,这是闪亮/反应的一部分。我无法改变这些规则。 我想将我的h1格式化为与评论hPlot类似的格式,因此我将在x上使用我的YYYYMM。我已经在互联网上查了但是这些信息对我来说太技术了。我没有这篇文章的时间资源。

library(rCharts)

x <- data.frame(PRODUCT=factor(c("ALPHA", "ALPHA","BRAVO","ALPHA","ALPHA")), 
                YYYYMM= factor(c("2/1/2015","3/1/2015","4/1/2015","5/1/2015","6/1/2015")),
                MEM_COUNT=c(44,22,37,76,97))
## none of this formatting work
x$YYYYMM <- as.Date(x$YYYYMM)
x$YYYYMM = strftime(strptime(x$YYYYMM, format = "%m/%d/%Y"), format = "%b/%y") 

###  hPlot(MEM_COUNT ~ YYYYMM, data=x, type="line")  #<@>< good sample!!

### output$chart <- renderChart2({
  h1 <- Highcharts$new()
  h1$chart(type = "spline")
  h1$series(data = x$MEM_COUNT, dashStyle = "longdash")
  h1$legend(symbolWidth = 80)
  h1$xAxis(Title= list(text="Months"),type="datetime")
  h1
###})      

1 个答案:

答案 0 :(得分:1)

Mario,第一步是将Date更改为毫秒,不要切换到科学记数法,因为Highcharts / javascript需要以毫秒为单位表示日期/时间。

options(scipen = 13)
x$YYYYMM <- as.numeric(as.POSIXct(x$YYYYMM, format='%m/%d/%Y')) * 1000 

现在,您可以构建图表。使用您的示例数据,我们将绘制MEM_COUNT与YYYYMM,按PRODUCT分组。 (因为产品'Alpha'只有1个数据点,但没有多大意义,但无论如何......)

h1 <- Highcharts$new()
h1 <- hPlot(MEM_COUNT ~ YYYYMM, data = x, 
      group = 'PRODUCT', 
      type = "spline" 
      )
h1$xAxis(type="datetime", labels = list(
  format = '{value:%b-%Y}'))
h1

通过更改“标签”值,您可以根据自己的喜好格式化x轴。

enter image description here