R Графически: меньшие маркеры на пузырьковой диаграмме

Я делаю пузырьковый график в Plotly (для R), и у меня постоянно появляются перекрывающиеся маркеры. Есть ли способ «уменьшить» все маркеры, чтобы их относительные размеры сохранялись, но не перекрывались? Я хочу, чтобы размеры сюжета остались прежними. Вот тестовый пример:

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")

перекрывающиеся маркеры буо


person Kira Tebbe    schedule 15.07.2016    source источник


Ответы (1)


Один из способов сделать это - настроить аргумент sizerefsize) в marker:

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 установлен как числовой массив. Устанавливает масштабный коэффициент, используемый для определения визуализируемого размера точек маркера. Используйте с sizemin и sizemode.

Если вы хотите, чтобы текст при наведении соответствовал исходному сюжету, вы можете определить его явно:

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))
person Jota    schedule 15.07.2016
comment
Я видел sizeref, но не знал, что его нужно использовать таким образом. Огромное спасибо! - person Kira Tebbe; 15.07.2016