问题描述
我有一个简单的折线图,但有些类别没有所有句点(xAxis),所以xAxis没有排在最后。
这是一个示例数据: 图表看起来像这样(交换了“2019-01”和“2019-03”)
示例代码
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
解决方法
也许您可以将日期 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 中找到默认标签和更多信息。