2016-07-15 3 views
2

Je crée un tracé de bulles dans Plotly (pour R) et je continue d'obtenir des repères qui se chevauchent. Existe-t-il un moyen de "réduire" tous les marqueurs, de sorte que leurs tailles relatives soient préservées mais qu'il n'y ait pas de chevauchement? Je veux garder les mêmes dimensions de l'intrigue. Voici un test:R Plotly: Marqueurs plus petits dans le tracé à bulles

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

Répondre

4

Une façon de faire ce genre de chose est d'ajuster l'argument sizeref (et size) dans :

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 

De https://plot.ly/r/reference/:

sizeref (nombre
par défaut: 1
A un effet uniquement si marker.size est défini sur un tableau numérique. Définit le facteur d'échelle utilisé pour déterminer la taille de points de repère . Utiliser avec sizemin et sizemode.

Si vous voulez que le texte de vol stationnaire pour correspondre à votre intrigue originale, vous pouvez définir explicitement:

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

j'avais vu la 'sizeref', mais je ne savais pas dû utiliser cette façon. Merci beaucoup! –