2017-06-01 13 views
1

以下のデータを持つ単純なPlotly棒グラフを作成しています。ここで、個々の棒グラフの色は、棒グラフのそれぞれの値に基づいて変化します。しかし、色の範囲、すなわちブルー(最小)から赤(最高)カスタムカラー範囲のPlotly(R)棒グラフ

df <- data.frame(x = c('a', 'B'), 
       y = c(100, 50), 
       z = c(100, 50)) 


plot_ly(data = df, 
     x = ~x, 
     y = ~y, 
     marker = list(color = ~z), 
     colors = c("blue", "red"), 
     type = "bar") 

の範囲に定義されるべきである残念ながらPlotly何か異なるカラースキームを用いて棒グラフを表示します。正しいコードを教えてください。

plot_ly(data = df, 
      x = ~x, 
      y = ~y, 
      marker = list(color =c("blue", "red")), 
      type = "bar") 

[EDIT]:私は、コードを編集したコメントを1として

事前

答えて

1

おかげで私はあなたがこのような何かをしたいと思います。これがあなたの望むものであることを願っています。

df <- data.frame(x = c('a', 'B', "c", "d", "e"), 
        y = c(100, 50, 20, 10, 100), 
        z = c(100, 50, 20, 10, 100)) 


    colfunc <- colorRampPalette(c("blue", "red")) 
    pal <- colfunc(max(df$z))[df$z] 

    plot_ly(data = df, 
      x = ~x, 
      y = ~y, 
      marker = list(color = pal), 
      type = "bar") 
+0

実際には、パレットから青色から赤色までの範囲の色と正確な色は、バーの値/高さに基づいています。私のバーの高さが非常に小さい場合、それはブルーに近くなり、高さはレッドに近くなります。注意:データ 'df'は静的なdata.frameではなく、いくつかの上流計算に基づいて計算/導出されます。 – Bogaso

+0

ありがとう、完璧です。 – Bogaso

関連する問題