小编fro*_*oam的帖子

使用 Plotly 的突出显示功能和 ggplotly 控制图例行为

我花了很多时间试图弄清楚在highlight()结合使用 Plotly 的功能时如何自定义或控制 Plotly 的图例行为plotly::ggplotly()。这是一个例子:

library(ggplot2)
library(plotly)
library(dplyr)

test_data <- data.frame( 
  name = LETTERS[1:5], 
  metric = sample(x = c(500:800), size = 100)
  ) %>% 
  arrange(name) %>% 
  group_by(name) %>% 
  mutate(index = row_number()) %>% 
  data.frame()


plotly_obj <- ggplotly(
  test_data %>% 
    highlight_key(~name) %>% 
    ggplot() + 
    geom_line(
      aes(
        x = index, 
        y = metric, 
        color = name
        ), 
      size = .75
      ) + 
    scale_x_continuous(breaks = c(1:20)) +
    scale_color_brewer(palette = "Accent") + 
    theme_bw()
  )

highlight(
  plotly_obj, 
  on = "plotly_hover",
  off = …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 plotly ggplotly

6
推荐指数
0
解决办法
843
查看次数

使用回调选项时选择新页面后,R DT 数据表不保留行索引/计数器列

我使用这个问题作为参考,将“行索引”或“计数器列”(如数据表文档中所述)添加闪亮DT::datatable的应用程序中。目的是保持表中的行名称常量(1、2、3...),而不管应用于表的排序如何。

用户NicE通过转换数据表文档中的javascript代码以用于选项的回调来回答这个问题DT::datatable

output$tbl = renderDataTable({
                        datatable(data, filter = "top", rownames=TRUE,options = list(
                            pageLength = 300, lengthMenu = c(100,200,300,400,500,600)
                    ),
                    callback=JS("table.on( 'order.dt search.dt', function () {
                            table.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
                                  cell.innerHTML = i+1;});}).draw();"))
            })
Run Code Online (Sandbox Code Playgroud)

如果我仅在本地运行代码的 datatable(... 部分,则效果很好;但是,当我在renderDataTableShiny 应用程序中运行时,它不起作用(当您移动到除第一个)。根据上面链接的数据表文档中的评论,用户 DeFKnoL 发现如果您在表中的页面之间移动,这将无法正常工作 - 这正是我运行 Shiny 应用程序时出现的问题。DeFKnoL 的评论指出( "deferRender": true) 会导致问题 - 我尝试在选项中将其更改为 FALSE,DT::datatable但这并不能解决问题。

我希望有人可以帮助我将该用户的 javascript 代码转换为可以输入到 的回调选项中的代码DT::datatable

以下是数据表文档中概述的原始方法的 JavaScript 代码(NicE 对其进行了修改以在回调中使用):

$(document).ready(function() {
var t = …
Run Code Online (Sandbox Code Playgroud)

javascript r datatables shiny dt

4
推荐指数
1
解决办法
1041
查看次数

标签 统计

r ×2

datatables ×1

dt ×1

ggplot2 ×1

ggplotly ×1

javascript ×1

plotly ×1

shiny ×1