在 ramcharts 中使用带有年份的文字月份名称

Using literal month names with year in ramcharts

这是我使用 rAmChart 生成条形图的代码,

library(rAmCharts)
amBarplot(x = "month", y = "value", data = dataset, 
                  dataDateFormat = "MM/YYYY", minPeriod = "MM",
                  show_values = FALSE, labelRotation = -90, depth = 0.1)

但是,有没有办法在我的 x 轴上使用月份名称和年份?我正在尝试使用 MMM-YY 格式。

示例数据集,

 structure(list(value = c(11544, 9588, 9411, 10365, 11154, 12688
), month = c("05/2012", "06/2012", "07/2012", "08/2012", "09/2012", 
"10/2012")), .Names = c("value", "month"), row.names = c(NA, 
6L), class = "data.frame")

谢谢。

rAmCharts 似乎没有公开 AmCharts 的 dateFormats setting in the categoryAxis, so you have to access it through the init event 并创建您自己的 dateFormats 数组,其中包含 MM 期间的修改后的格式字符串。我对 R 不是很有经验,但这里是我如何使用 R 3.4.2 和 rAmCharts 2.1.5

让它工作
chart <- amBarplot( ... settings omitted ... )
addListener(.Object = chart,
            name = 'init',
            expression = paste(
            "function(e) {",
            "e.chart.categoryAxis.dateFormats = ", 
           '[{"period":"fff","format":"JJ:NN:SS"},{"period":"ss","format":"JJ:NN:SS"},',
           '{"period":"mm","format":"JJ:NN"},{"period":"hh","format":"JJ:NN"},{"period":"DD","format":"MMM DD"},',
           '{"period":"WW","format":"MMM DD"},',
           '{"period":"MM","format":"MMM-YY"},', # "add YY to default MM format
           '{"period":"YYYY","format":"YYYY"}]; ',
           'e.chart.validateData();',
           "}")
) 

这是一个不同的解决方案:

library(rAmCharts)
dataset <-  structure(list(value = c(11544, 9588, 9411, 10365, 11154, 12688
), month = c("05/2012", "06/2012", "07/2012", "08/2012", "09/2012", 
"10/2012")), .Names = c("value", "month"), row.names = c(NA, 
6L), class = "data.frame")

dataset$month <- as.character(
                        format(
                           as.Date(paste0("01/",dataset$month), "%d/%m/%Y"),
                        "%B %Y"))

amBarplot(x = "month", y = "value", data = dataset, 
                  show_values = FALSE, labelRotation = -90, depth = 0.1)