2016-07-15 3 views
2

Plotly(R)のバブルプロットを作成していて、マーカーが重なっています。すべてのマーカーを「スケールダウン」する方法があるので、相対的なサイズは維持されますが、重なりはありませんか?私はプロットの寸法を同じに保ちたい。ここではテストケースです:この種のものを行うにはR Plotly:バブルプロットの小さなマーカー

test <- data.frame(matrix(NA, ncol=3, nrow=14)) 
colnames(test) <- c("Group", "Numbers", "Days") 
loop<- 1 
for(i in 1:7){ 
    test[i,] <- c(1, i, loop) 
    loop <- loop * 1.5 
} 
loop <- 1 
for(i in 1:7){ 
    test[i+7,] <- c(2, i, loop) 
    loop <- loop * 1.3 
} 
plot_ly(test, x=Group, y=Numbers, size=Days, mode="markers") 

booo overlapping markers

答えて

4

一つの方法は、にsizeref(およびsize)引数を調整することである。

plot_ly(test, x=Group, y=Numbers, mode="markers", 
    marker = list(size = Days, sizeref = 0.15)) 

plot_ly(test, x=Group, y=Numbers, mode="markers", 
    marker = list(size = Days/2, sizeref = 0.1)) 

plot_ly(test, x=Group, y=Numbers, size = Days, mode="markers", 
    marker = list(sizeref = 2.5)) # Days data in the hoverinfo with this method 

https://plot.ly/r/reference/から:

sizeref(number )
デフォルト:1
marker.sizeが数値配列に設定された の場合にのみ効果があります。マーカー点のレンダリングサイズを決定するために使用される倍率を設定します。 sizeminsizemodeで使用してください。

あなたがホバーテキストは元のプロットを一致させたい場合、あなたはそれを明示的に定義することができます。

plot_ly(test, x=Group, y=Numbers, mode="markers", 
    marker = list(size = Days, sizeref = 0.15), 
    hoverinfo = "text", 
    text = paste0("(", Group, ", ", Numbers, ")<br>", "Days (size): ", Days)) 
+0

を私は 'sizeref'を見ていたが、それはこの方法を使用しなければならなかった知りませんでした。本当にありがとう! –

関連する問題