R: Interaktivní graf funkce pomocí posuvníků v plotly

hlasů
0

Osnovat funkce se svými parametry jsou dynamicky aktualizovány pomocí posuvníků je snadné v oblasti výzkumu za použití základní spiknutí a balíček ‚manipulovat‘.
Zde je příklad sinusové vlny s jeho amplituda a frekvence je řízena parametry a, k, resp.

library(manipulate)
manipulate(plot(x, A*sin(k*x)), A = slider(1,3), k = slider(1,10))

Interaktivní Nicméně, základní děj není tak Pretty plotly jeden. Existuje jednoduchý způsob, jak to udělat v plotly?

Plotly poskytuje příklady jezdci na svých stránkách, ale kód se zdá být příliš složitý pro takový jednoduchý úkol. Pokud plotly neposkytne jedno nebo dvě vložky pro takové úkoly, existují i jiné způsoby, jak tak učinit v oblasti výzkumu?

Položena 07/11/2018 v 23:51
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

Zde je rychlý a špinavý lesklý aplikace, která dělá to na základě jednoho z příkladů v dokumentaci a běží dobře z RStudio. Spousta příležitostí k vyčištění kódu a to zejména v renderPlot, ale to vám dá výchozí bod.

library(shiny)
library(shinydashboard)
library(ggplot2)

data <-  data.frame(x=c(1,2,3,4),y=c(10,11,12,13))
ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(sliderInput("sliderA","A", min=1, max=3, step=0.5, value=1),
               sliderInput("sliderK","K", min=1, max=10, step=1, value=1)),
  dashboardBody(
    fluidRow(column(6,plotOutput('waveplot')))
  ))

server <- function(input, output, session) { 
  output$waveplot <- renderPlot({
    x <- seq(0,10,0.1)
    yfxn <- function(x) { input$sliderA*sin(input$sliderK*x) }
    y <- yfxn(x)
    df <- data.frame(x,y)
    ggplot(df,aes_string(x=x,y=y))+geom_point(size=2)+geom_line()+ 
         scale_x_continuous()
  })
}

shinyApp(ui, server)

zadejte popis obrázku zde

Odpovězeno 08/11/2018 v 03:55
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more