2017-06-11 5 views
1

x、y、または名前ではない変数に 'color'をマップすると、カラーマッピング変数がホバーと凡例のトレース名に追加されます。私はカラーマッピング変数せずに名前だけを表示することができますどのようにRプロット:トレース名からカラーマッピング変数を削除する方法

df <- data.frame(x = rnorm(5, 50, 1), 
      y = letters[1:5], 
      c = LETTERS[1:5], 
      name = c("aa", "bb", "cc", "dd", "ee"), 
      stringsAsFactors = FALSE) 

p <- plot_ly(df, x = ~x, y = ~y, 
      type = "bar", 
      color = ~c,    
      name = ~name, 
      hoverinfo = "x+y+name") 
p 

EDIT以下

は色が順位を表す変数にマッピングされ、より複雑な例です。 '名前'は、ランク付けをしていない任意の名前です。 y変数は、指定された順序で表示する必要のある順序付けられた要素です。私はランキング変数ではなく名前を表示したいだけです。

df <- data.frame(x = rnorm(5, 50, 1), 
      y = factor(letters[1:5], 
         levels = c("a", "e", "c", "d", "b")), 
      c = LETTERS[1:5], 
      name = c("qwe", "zxc", "sdf", "bnm", "ert"), 
      stringsAsFactors = FALSE) 

p <- plot_ly(df, x = ~x, y = ~y, 
      type = "bar", 
      color = ~c, 
      colors = brewer.pal(8, "Blues")[4:8], 
      name = ~name, 
      hoverinfo = "x+y+name") 
p 
+0

伝説行う '名=〜C ' –

+0

または変更から色の変数を削除するには:'色=〜あなたの伝説のラベルが "aa"、 "bb"、...である場合は、名前です。 –

+0

ありがとう@EnriquePérezHerrero。私の例は、私が遭遇した実際の生活の問題に対しては単純すぎることに気付き、完全な問題を代表しませんでした。より良い、より複雑な例で私の投稿を編集しました。手伝ってくれますか? – NicZ

答えて

0

このコードはcolor = ~name

library(plotly) 
library(RColorBrewer) 

df <- data.frame(x = rnorm(5, 50, 1), 
       y = factor(letters[1:5], 
          levels = c("a", "e", "c", "d", "b")), 
       c = LETTERS[1:5], 
       name = c("qwe", "zxc", "sdf", "bnm", "ert"), 
       stringsAsFactors = FALSE) 

p <- plot_ly(df, x = ~x, y = ~y, 
      type = "bar", 
      color = ~name, 
      colors = brewer.pal(8, "Blues")[4:8], 
      name = ~name, 
      hoverinfo = "x+y+name") 
p 

設定プロットは、このようになります: plotly_example_R

+1

ありがとう@Enriqueしかし、私は、変数cの特定のシーケンスによってマップされた色を必要とします。 – NicZ

関連する問題