我正在构建一个应用程序,允许用户使用 selectInput 在绘图图上动态添加和删除跟踪。
我试图从 plotly 包中使用 plotlyProxy () 和 plotlyProxyInvoke () ,但无济于事。
以下是我的基本代码:
library(shiny)
library(shinydashboard)
library(plotly)
ui <- dashboardPage(
dashboardHeader(),
dashboardSidebar(
sidebarMenu(
menuItem("Search", tabName = "Tabs", icon = icon("object-ungroup"))
)
),
dashboardBody(
tabItem(tabName = "Tabs",
fluidRow(
column(width=3,
box(
title="SELECT ",
solidHeader=TRUE,
collapsible=TRUE,
width=NULL,
selectInput(
inputId="Player",
selected = NULL, multiple = TRUE,
label=" Choose Player",
choices=c("Messi", "Suarez", "Ronaldo" )),
selectInput(
inputId="Delete",
selected = NULL, multiple = TRUE,
label=" Choose Player",
choices=c("Messi", "Suarez", "Ronaldo" )),
submitButton("Select")
)
),
column( width=9,
tabBox(
width="100%", …Run Code Online (Sandbox Code Playgroud) 我试图通过在 plotly 的交互式图例中取消选择来找出用户从散点图中隐藏了哪些痕迹。
我已经阅读了这篇SO post,以及下面评论中链接的类似问题,这让我更接近解决方案
当前的解决方案只是部分地做我需要的。我正在寻找改进它的两件事是: - 如何查看哪个图的图例被点击(查看源“id”?) - 我现在可以看到图例条目被点击,但我需要能够看到是否单击“ON”(显示轨迹)或“OFF”
我正在寻找的输出看起来像这样:
input$trace_plot1: 然后是所有关闭和打开的跟踪的列表,或者每次单击时的单个跟踪 nr 但它表明该特定跟踪现在是否“打开”或“关闭”
我的目标是将视觉隐藏和显示链接到数据中我所有组的概览,用户现在可以在其中为他们提供新的名称、颜色,并选择使用带有 T/ 的按钮保留或删除组F 状态开关在它后面。我想将按钮的 T/F 状态链接到特定图的“显示”/“隐藏”轨迹(因为我的应用程序中有 5 个这些图的副本,显示了分析过程不同阶段的数据.
这是我的尝试,它不会以某种方式对传说做出反应,只是放大:
library(plotly)
library(shiny)
library(htmlwidgets)
js <- c(
"function(el, x){",
" el.on('plotly_legendclick', function(evtData) {",
" Shiny.setInputValue('trace', evtData.data[evtData.curveNumber].name);",
" });",
"}")
iris$group <- c(rep(1,50), rep(2, 50), rep(3,50))
ui <- fluidPage(
plotlyOutput("plot1"),
plotlyOutput("plot2"),
verbatimTextOutput("legendItem")
)
server <- function(input, output){
output$plot1 <- renderPlotly({
p <- plot_ly(source = 'plotly1', data = iris, x = ~Sepal.Length, y = ~Petal.Length, color = …Run Code Online (Sandbox Code Playgroud)