使用框架(即动画图)时,将我的绘图标记大小设置为变量不起作用

Setting my plotly marker size as a variable is not working when using frame (i.e. animated graph)

当我在动画图形中使用它时,我很难让我的标记大小按预期工作。使用如下数据集,我希望第 1 列中的标记先增大,然后减小; 2 中的标记先减小,然后增大;等:

data <- data.frame(xaxis = rep(as.character(c(1:5)), each = 10), 
                   yaxis = rep(c(1:5,5:1), 5), 
                   size = c(
                       c(1:5,5:1),
                       c(5:1,1:5),
                       c(1:10),
                       c(10:1),
                       rep(c(1,10), 5)
                   ),
                    frame = c(1:10)
                   )


令人沮丧的是,当我 运行 只有一个标记时(即数据是 data[data$xaxis == 1, ]),一切都按预期进行;但是当显示所有 5 个标记时,尺寸就乱七八糟了。

如何更好地控制标记大小?

示例图:

plot_ly(
    data = data,
    x = ~xaxis,
    y = ~yaxis,
    frame = ~frame,
    type = 'scatter',
    marker = list(size = ~size*10),
    mode = 'markers'
)

不知道为什么,但它工作正常,一旦你根据你的框架订购你的数据:

library(plotly)

data <- data.frame(xaxis = rep(as.character(c(1:5)), each = 10), 
                   yaxis = rep(c(1:5,5:1), 5), 
                   size = c(
                     c(1:5,5:1),
                     c(5:1,1:5),
                     c(1:10),
                     c(10:1),
                     rep(c(1,10), 5)
                   ),
                   frame = c(1:10)
)

data <- data[order(data$frame),]

plot_ly(
  data = data,
  x = ~xaxis,
  y = ~yaxis,
  frame = ~frame,
  type = 'scatter',
  marker = list(size = ~size*10),
  mode = 'markers'
)

你可能想 file an issue 关于这个。