绘图R条形图更新直接标签数据

时间:2018-10-16 02:59:38

标签: r plotly r-plotly

我有这段代码会生成带有直接标签的条形图,我添加了一个按钮以切换到其他数据,但是如何更新直接标签数据

library(plotly)


chart <- structure(list(Date3 = structure(c(17805, 17806, 17807, 17808
), class = "Date"), Installed_qty_piling = c(9000, 1, 741, 72), Installed_qty_piling_Delivery = c(2592, 
                                                                                                  250, 33, 24)), row.names = c(NA, -4L), class = c("tbl_df", 
                                                                                                                                                   "tbl", "data.frame"))




p <- plot_ly(chart, x = ~Date3, y = ~Installed_qty_piling,text=~Installed_qty_piling,textposition = 'auto', type = "bar",  name = "A", visible = T) %>%
  layout(
    title = "qty installed",
    yaxis = list(title = "qty"),
    updatemenus = list(
      list(
        y = 100,
        buttons = list(
          list(method = "restyle",
               args = list("y", list(chart$Installed_qty_piling)),  # put it in a list
               label = "piling"),
          list(method = "restyle",
               args = list("y", list(chart$Installed_qty_piling_Delivery)),  # put it in a list
               label = "piling Delivery")))
    ))
p

1 个答案:

答案 0 :(得分:0)

是的,我在其他地方找到了答案,也需要更新文本

library(plotly)


chart <- structure(list(Date3 = structure(c(17805, 17806, 17807, 17808
), class = "Date"), Installed_qty_piling = c(9000, 1, 741, 72), 
Installed_qty_piling_Delivery = c(2592, 

250, 33, 24)), row.names = c(NA, -4L), class = c("tbl_df", 

"tbl", "data.frame"))
plot_ly(chart, x = ~Date3, y = 
~Installed_qty_piling,text=~Installed_qty_piling,textposition = 'auto', type = "bar",  
name = "A", visible = T) %>%
layout(
   title = "qty installed",
   yaxis = list(title = "qty"),
updatemenus = list(
  list(
    y = 100,
    buttons = list(
      list(method = "restyle",
           args = list(list(y = list(chart$Installed_qty_piling), text = list(chart$Installed_qty_piling))),
           label = "piling"),
      list(method = "restyle",
           args = list(list(y = list(chart$Installed_qty_piling_Delivery), text = list(chart$Installed_qty_piling_Delivery))), 
           label = "piling Delivery")))
)

相关问题