R中的Highcharts:在折线图中对xAxis进行排序

我有一个简单的折线图,但有些类别没有所有句点(xAxis),所以xAxis没有排在最后。

这是一个示例数据: 图表看起来像这样(交换了“2019-01”和“2019-03”)

R中的Highcharts:在折线图中对xAxis进行排序

示例代码

df <- data.frame(PERIODO = c("2017-01","2017-03","2018-01","2018-03","2019-01",rep("2019-03",2),"2020-01"),CATEGORIA = c(rep("A",4),rep("B","A","B","B"),FRECUENCIA = c(2,3,1,2,4,2))

    highchart() %>%
      hc_xAxis(type = "category") %>%
      hc_add_series(df,"line",hcaes(x = PERIODO,y = FRECUENCIA,group = CATEGORIA),dataLabels = list(enabled = TRUE,style = list(fontSize = '13px'))
      ) %>% 
      hc_legend(enabled = TRUE,align = "right",layout = 'vertical',verticalAlign= "middle") %>% 
      hc_tooltip(shared = TRUE,crosshairs = TRUE,style = list(fontSize = "18px")

有人知道如何通过PERIODO保持xAxis顺序:2017-01,2017-03,2018-01,2018-03,2019-01,2019-03,2020-01

angeldou123 回答:R中的Highcharts:在折线图中对xAxis进行排序

也许您可以将日期 PERIODO 设为 Date 格式(如果您只有月份,请使用每月的第一天)。

df$PERIODO <- as.Date(paste0(df$PERIODO,"-01"))

然后,使用 type = "datetime" 而不是 category 作为您的 hc_xAxis 参数。您可以使用 dateTimeLabelFormats 在 x 轴上指示您想要的标签。

highchart() %>%
  hc_xAxis(type = "datetime",dateTimeLabelFormats = list(month = '%b %Y')) %>%
  ...

可以在 here 中找到默认标签和更多信息。

本文链接:https://www.f2er.com/63408.html

大家都在问