2016-06-11 8 views
4

である私は、次のデータがあります。R Plotly:再手配することはできませんx軸軸タイプがカテゴリ

myData <- data.frame(FISCAL_YEAR_WEEK = c('2016-09','2016-09','2016-09','2016-09','2016-09','2016-10','2016-10','2016-10','2016-10','2016-10','2016-10','2016-10','2016-10','2016-11','2016-11','2016-11','2016-11','2016-12','2016-12','2016-12','2016-12','2016-12','2016-12','2016-14','2016-14','2016-14','2016-14'), 
        MOTOR_VEND_ID = c('7','E','F','F','M','7','9','E','E','F','F','M','R','7','E','F','F','E','E','F','F','M','M','7','E','F','M'),HGA_SUPPLIER=c('RHO','RHO','HWY','RHO','RHO','RHO','RHO','HWY','RHO','HWY','RHO','RHO','RHO','RHO','RHO','HWY','RHO','HWY','RHO','HWY','RHO','HWY','RHO','RHO','RHO','RHO','RHO'), 
        RTPAD_TOT = c(0,0,0,0,0,0,420,6,0,0,0,20,1,76,0,0,0,76,62,0,0,0,0,6,1,1,0)) 

を私は他のvarablesでグループ化されたFISCAL_YEAR_WEEKに対するRTPAD_TOTと折れ線グラフを、持っていると思います。 FISCAL_YEAR_WEEKは、会計年度の会計年度を表します。しかし、これは順番に並んでいない私のx軸になり

ax <- list(
type = "category", 
showgrid = TRUE, 
showline = TRUE, 
autorange = TRUE, 
showticklabels = TRUE, 
ticks = "outside", 
tickangle = 0 
) 

ay <- list(
range = c(0,300), 
dtick = 50, 
showgrid = TRUE, 
showline = TRUE, 
autorange = FALSE, 
showticklabels = TRUE, 
ticks = "outside", 
tickangle = 0 
) 

plot_ly(myData, 
x = FISCAL_YEAR_WEEK, 
y = RTPAD_TOT, 
type = 'scatter', 
mode = 'markers+lines', 
color = interaction(MOTOR_VEND_ID,HGA_SUPPLIER)) %>% 
layout(xaxis = ax, yaxis = ay) 

:2016から11年度2016の第11週はここに私のplotlyコードだ意味は明らか plotly jumbled up my x-axis

、私は2016年を希望しますチャートで2016年より前に来る-09。しかし、x軸の私のFISCAL_YEAR_WEEKはすべて混乱しています。

同じプロットを構築するためにggplot2を使用すると、私のx軸をまぜこぜしません:

ggplot(data = myData, 
     aes(x = FISCAL_YEAR_WEEK, 
      y = RTPAD_TOT, 
      group = interaction(MOTOR_VEND_ID, HGA_SUPPLIER)))) + 
    geom_line() 

上記のコードから、私の軸の外観は...

ggplotly() 
まで、すべての良いだろう

私はggplotをプロットに変換したいと思っていました。 ggplotly()コマンドの後に、私のx軸が再び混乱します。

X軸にtype = "category"オプションが必要です。データにある日付のみを表示したいからです。また、2016-09を誤解して2016年9月の週ではなく、2016年9月になるように誤解します。ユーザーがx軸を変更することができる光沢のあるアプリケーションを構築していますが、同じように。ときには、001,002,120のようなシリアル番号が付いていることもあります。したがって、数字と日付の間には002と120の間に大きなギャップがありますので意味がありません。 ここではtype = "category"オプションが必要です。

私もFISCAL_YEAR_WEEKを因数分解しようとしましたが、それは動作しません:

myData$FISCAL_YEAR_WEEK <- factor(myData$FISCAL_YEAR_WEEK,levels=sort(unique(myData$FISCAL_YEAR_WEEK))) 

私のx軸はまだ、最近までplotly

+0

他の誰かがパレットに十分な色がないという彼のサンプルコードでエラーが発生しますか? –

答えて

9

に並べ替えるための唯一の方法をごちゃ混ぜにされますplot.lyカテゴリ軸は、グラフの最初のカテゴリトレースのデータをソートすることでした(ref:Etienneの答えはplot.ly community site)。

That's changed、とあなたは以下の方法のいずれかでcategoryorderを設定することにより、希望するカテゴリ軸の並べ替えを達成することができますplot.lyのカテゴリ軸の詳細については

ax <- list(
    type = "category", 
    categoryorder = "array", 
    categoryarray = sort(unique(myData$FISCAL_YEAR_WEEK)), 
    showgrid = TRUE, 
    showline = TRUE, 
    autorange = TRUE, 
    showticklabels = TRUE, 
    ticks = "outside", 
    tickangle = 0 
) 

ax <- list(
    type = "category", 
    categoryorder = "category ascending", 
    showgrid = TRUE, 
    showline = TRUE, 
    autorange = TRUE, 
    showticklabels = TRUE, 
    ticks = "outside", 
    tickangle = 0 
) 

かを並べ替え、そのreference docを参照してください。

+0

私は理由は分かりませんが、第二の選択肢だけが私のために働いていました –

関連する問題