2017-10-04 5 views
4

UPDATE:https://github.com/ropensci/plotly/issues/1133は色が離散的であるときの色に依存するように見える

が、私は色が因子変数によって示されplot_ly、との散布図を作成しています:ここではバグレポートとして開設サイズは数字で示されます。この状況では、サイズが色によって奇妙な影響を受けているようです。

ここでは、同じ変数をxsizeの両方に割り当てます。この場合、最も大きなポイントが右端に来ると予想されます。このデモコードには、デバッグ用に余分なものが含まれています(hoverinfo)。

library(plotly) 

my_data <- mtcars 
my_data$carb <- as.factor(mtcars$carb) 

plot_ly(my_data, 
     x = ~wt, 
     y = ~mpg, 
     size = ~wt, 
     color = ~carb, 
     type = 'scatter', 
     mode = 'markers', 
     hoverinfo = 'text', 
     text = ~paste0('wt (x): ', wt, '\n', 
         'mpg (y): ', mpg, '\n', 
         'wt (size): ', wt, '\n', 
         'carb (color): ', carb, '\n')) 

代わりに、最大のドットが右側にあることの大きさは、私が実際に欲しいものは全くないが、各色グループ内で拡大縮小されているかのように、それが表示されます。

enter image description here

因子ごとに変更しようとしましたが、同じことが起こります。数値に変更すると(因子レベルを使用して色にマッピングすると)、凡例は連続的になり、うまくいかなくなります。何か案は?

答えて

0

私は質問に対する答えはわかりませんが、いくつかのテストをした後、私はこれがカラー変数の数値レベルに関連していると感じました。

library(plotly) 

my_data <- mtcars 
my_data$carb <- factor(mtcars$carb) 
my_data$cyl <- factor(mtcars$cyl) # cyl contains 3 levels and works fine 
plot_ly(data=my_data, x = ~wt, y = ~mpg, color = ~cyl, size = ~wt) 


# 2 levels works fine 
my_data$carb <- factor(mtcars$carb) 
levels(my_data$carb) <- rep(1:2,each=3) 
plot_ly(data=my_data, x = ~wt, y = ~mpg, color = ~carb, size = ~wt) 

# 3 levels works fine 
my_data$carb <- factor(mtcars$carb) 
levels(my_data$carb) <- rep(1:3,each=2) 
plot_ly(data=my_data, x = ~wt, y = ~mpg, color = ~carb, size = ~wt) 

# 4 levels break down 
my_data$carb <- factor(mtcars$carb) 
levels(my_data$carb) <- c(1,1,2,2,3,4) 
plot_ly(data=my_data, x = ~wt, y = ~mpg, color = ~carb, size = ~wt) 

バグの可能性がありますか? @StéphaneLaurentによって推奨

更新 が、これは、この場合には、carb68データにおける単一の発生と因子レベルに関連しています。それらが1つのレベルとして結合されている場合、それは動作しているようです

my_data$carb <- factor(mtcars$carb) 
levels(my_data$carb) <- c(1,2,3,4,5,5) 
plot_ly(data=my_data, x = ~wt, y = ~mpg, color = ~carb, size = ~wt) 
+2

1つの観測(ここではgroup carb = 6およびgroup carb = 8)を持つグループがあるときにバグが発生すると思います。そのようなグループに対応するバブルは大きすぎ、他のバブルは正しいです。 –

+0

@StéphaneLaurent指摘してくれてありがとう!それはまさにここで起こることです。 – platypus

+0

いくつかの実験を通して、グループ内に多くのポイントがあり、すべて同じサイズである場合に発生する可能性があると判断しました。私はこれがバグであると確信しています。問題を開くための筆記作業に取り組んでいます。 –

関連する問題