Open
Description
I understand this issue has a chance of being an off-topic implementation issue. If so, please accept my sincere apologies in advance. Frank Harrell reported he is unable to change size of the annotated text using the code below.
require(plotly)
p <- plot_ly()
p <- add_markers(p,x=~1:2, y=~1:2)
p <- add_annotations(p, x=~c(1.1, 2.1), y=~c(1.2, 2.4),
text=~c('XXX','YYY'), size=~c(7,20))
p
I was unable to account for size of text using the 'old' method using 'layout' (as discussed in #744).
ann <- data.frame(x = c(1.1, 2.1),
y = c(1.2, 2.4),
size = c(10, 20),
text = c("XXX", "YYY"))
xy <- data.frame(x = c(1, 2), y = c(1, 2))
a <- vector("list", nrow(ann))
for (i in 1:nrow(ann)) {
a[[i]] <- list(
x = ann$x[i],
y = ann$y[i],
text = ann$text[i],
xref = "x", yref = "y",
showarrow = TRUE,
size = ann$size[i]
)
}
plot_ly(xy, x = ~x, y = ~y) %>%
add_markers() %>%
layout(annotations = a)
@cpsievert suggested using add_annotations
but I'm a bit lost on how to pass on the size argument. Based on the documentation and some examples scattered over the internet, I tried
plot_ly(xy, x = ~x, y = ~y) %>%
add_markers() %>%
add_annotations(text = ~text, font = list(size = ~size), data = ann)
with no luck. Is there something I'm doing wrong?