我对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
###})
答案 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轴。