Plotly R:按轴的月份名称排序

Plotly R : Order by month name for axis

我有一个 df,当使用 plotly 绘制成图表时,轴按字母顺序排列,而不是按 4 月、5 月、6 月的正确顺序排列。如何解决这个问题。

   Month_considered   pct ATC_Count
   <chr>            <dbl> <fct>    
 1 Apr-17            1.62 6,004    
 2 May-17            1.60 6,671    
 3 Jun-17            1.56 6,979    
 4 Jul-17            1.56 6,935    
 5 Aug-17            1.55 7,225    
 6 Sep-17            1.50 6,684    
 7 Oct-17            1.45 6,451    
 8 Nov-17            1.41 6,460    
 9 Dec-17            1.39 6,715    
10 Jan-18            1.39 6,427    
11 Feb-18            1.54 6,844.00 

plot_ly(ab, x = ~Month_considered, y = ~pct, type = 'scatter',mode = 'markers',line = list(color = 'rgb(205, 12, 24)', width = 4))

如果您将 Month_considered 转换为 R 日期类型,类似于下面的示例,您将获得正确的日期轴。 (请注意,您必须伪造日期值才能使 as.Date() 正确解析)

plot_ly(ab,
        x = ~as.Date(paste0("01-",Month_considered),format = "%d-%b-%y"),
        y = ~pct,
        type = 'scatter',
        mode = 'markers',
        line = list(color = 'rgb(205, 12, 24)',
                    width = 4))

如果出于某种原因您不想要真正的日期轴,那么您可以将 Month_considered 列转换为有序因子并指定正确的顺序。