2017-10-31 5 views
0

Ich habe ein kleines Problem mit R Shiny Dashboards, von denen ich hoffe, dass mir jemand helfen kann.R Shiny tabBox title break

Unten ist ein Auszug für eine der glänzenden Apps, an denen ich arbeite. Auf dieser Seite befinden sich zwei Panels in derselben Zeile nebeneinander, und jedes Panel hat zwei Registerkarten mit jeweils einem eigenen Graphen. Jedes Panel hat einen konsistenten Titel mit einem etwas anderen Bit in Klammern. Ich habe bemerkt, dass wenn ich die Größe des Browserfensters ändere (obwohl R shiny sehr gut ist und das Plot, Text usw. dynamisch an die neue Größe anpasst), springt der etwas längere Titel in die Zeile unterhalb der tabPanel() Auswahl vor dem kürzeren Titel. Dies hat zur Folge, dass die beiden Paneele in der Reihe eine unterschiedliche Höhe haben und etwas unordentlich wirken.

Gibt es eine Möglichkeit, den Paneltitel auf mehrere Zeilen aufzuteilen? Ich habe eine Weile nach diesem gesucht und habe versucht \ "\ n", "\ r \ n", "|" usw. ohne Glück. Alternativ, wenn es eine andere Lösung dafür gibt, würde ich mich sehr freuen, es zu hören.

Vielen Dank für die Hilfe und Entschuldigung, wenn die Antwort da draußen ist und ich habe es gerade verpasst!

fluidRow(
    tabBox(
     title = "Consistent Title (bit in brackets)", 
     side = "right", 
     tabPanel(
     "Panel title X", 
     textOutput("X_total"), 
     plotOutput("X"), 
     tags$i("All metrics calculated based on blah.") 
    ), 
     tabPanel(
     "Panel title Y", 
     textOutput("Y_mean"), 
     plotOutput("Y"), 
     tags$i("All metrics calculated based on blah.") 
    ), width = 6), 
    tabBox(
     title = "Consistent Title (longer bit in brackets)", 
     side = "right", 
     tabPanel(
     "Panel title A", 
     textOutput("A_total"), 
     plotOutput("A"), 
     tags$i("All metrics calculated based on blah.") 
    ), 
     tabPanel(
     "Panel title B", 
     textOutput("B_total"), 
     plotOutput("B"), 
     tags$i("All metrics calculated based on blah.") 
    ), width = 6) 
) 

Antwort

0

Ein bisschen auf der folgenden Seite führte Benutzer:

how to insert new line in R shiny string

Und liegt darin die Antwort. In dem in der Frage angegebenen Code müssen wir folgendes als title Funktion eingeben:

title = HTML(paste("Consistent title", "(bit in brackets)", sep = "<br/>"))