Nur mit Shiny spielen und es schon lieben. Aber wie bekomme ich Diagramme in der reactivePlot/plotOutput-Kombination, die unterschiedlich groß sein können, abhängig davon, welches Diagramm geplottet wird?Wie kann ich das Seitenverhältnis von Diagrammen im Shiny-Paket von R bedingt ändern?
In diesem ersten Beispiel, ich habe die „yield curve“ Analyse ausgewählt und das Seitenverhältnis Ich will bekommen:
Aber wenn ich eine weitere Analyse, in diesem Fall eine Heatmap wählen, ist es jetzt die gleiche Größe wie die "Yield Curve" -Diagramm, die es verzerrt (Zellen sollten quadratisch, nicht rechteckig sein).
Wie kann ich die Diagrammgröße ändern, je nach dem Diagramm ausgewählt wurde? Ich habe versucht, den Höhenparameter = NA, NULL oder "" zu setzen, aber es mag keines von denen.
Getrennt, aber in der gleichen Anwendung, wie kann ich einige Leerzeichen zwischen dem oberen selectInput und den textInputs im sidebarPanel bekommen? Ich habe versucht, h4 (""), funktioniert aber nicht.
Hier mein ui.R ist:
library(shiny)
shinyUI(pageWithSidebar(
headerPanel(h1("SAGB Relative Value Tool")),
sidebarPanel(
h4("Choose analysis:"),
selectInput("analysis1", "",
choices = c("Yield curve", "Optical asset swap spreads",
"Cheap dear box", "Cheap dear charts", "Switch signaliser",
"Barbells")),
h4(" "),
h4("Yield override:"),
lapply(bondNames, function(x)
textInput(paste(x, "bond"), x, last(sagb$sagb)[x]))
),
mainPanel(
h3(textOutput("AnalysisHeader")),
plotOutput("AnalysisOutput", height = "10in"))
))
und hier ist mein server.r
library(shiny)
shinyServer(function(input, output) {
output$AnalysisHeader <- reactiveText(function() {
input$analysis1
})
output$AnalysisOutput <- reactivePlot(function() {
switch(input$analysis1,
"Yield curve" = wo(whichOut = 1),
"Optical asset swap spreads" = wo(whichOut = 2),
"Cheap dear box" = wo(whichOut = 3),
"Cheap dear charts" = wo(whichOut = 4),
"Switch signaliser" = wo(whichOut = 5),
"Barbells" = wo(whichOut = 6)
)
})
})
was sind bondNames? – agstudy
bondNames ist eine globale Listenvariable im Programm, die runApp() aufruft und die Namen der 12 aktiven Anleihen im südafrikanischen Staatsanleihenmarkt ("SAGB") enthält. Hier ist es für die verwendet, um die Sidebar Ertragsüberschreibung Eingänge zu erstellen (etwas schlampig obwohl - ich habe erst jetzt numericInput entdeckt, und ich sollte eine for-Schleife kein lapply verwenden, und meine Paste lässt einen sep = „“ Argument). Für die Frage sowieso nicht relevant. Die Datenstrukturen wo() und sagb $ sagb sind beispielsweise ebenfalls Teil des enthaltenen Codes. –
Ich bin die zweite Frage (falls Leute von Rstudio wissen möchten, wieviele Personen sich für dieses Feature interessieren!), [Mein Grundstück ist derzeit nicht lesbar] (http://i.stack.imgur.com/liY3O.png), aber ich kann die Höhe nicht statisch einstellen, da die Anzahl der Plots entsprechend den dynamischen UIs variiert ... – Kevin