- 
                Notifications
    You must be signed in to change notification settings 
- Fork 636
Open
Labels
Milestone
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))
pI 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?