rCharts 格式化

rCharts formatting

我在处理 rCharts 格式方面有些困难,这是我演示的一部分,我需要使用 Highcharts,它是 shiny/reactive 的一部分。我无法更改这些规则。 我想将我的 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
###})      

马里奥,第一步是将日期更改为毫秒,不要切换为科学计数法,因为Highcharts/javascript期望date/time以毫秒表示。

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

现在,您可以构建图表了。使用您的示例数据,我们将绘制 MEM_COUNT 与 YYYYMM,按产品分组。 (因为产品“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 轴的格式。