2016-03-25 16 views
0

Wie kann ich die im tabsetPanel sichtbaren Beschriftungen zentrieren? Derzeit definiere ich die Tabs renderUI mit:R Shiny: center tabsetPanel Etiketten

output$uiTabs <- renderUI({ 
tabsetPanel(tabPanel("visualization1",tableOutput("table1")), 
      tabPanel("visualization2",tableOutput("table2"))) }) 

Dann in UI ich so etwas wie dieses:

column(8,align="center", 
      uiOutput("uiTabs")) 

nun die Tische sind mittig ausgerichtet, aber nicht die Laschen selbst.

+1

Ist es möglich, leer/unclickable tabPanels zu schaffen? Also vielleicht 'tabsetPanel ( TabPanel (Tags $ div ( HTML (Paste (Tags $ Spanne (style = "color: white", "TYPE A LONG STRING TO SPACE HIER accordingly"), sep = "")) )), TabPanel ("visualization1", tableOutput ("Tabelle1")), TabPanel ("visualization2", tableOutput ("table2")), ausgewählt = "visualization1" ) ' hat das Aussehen eine leere Registerkarte, und das einzige Problem ist, dass Sie die Registerkarte "leer" mit Leerzeichen als Bezeichnung auswählen können. – InfiniteFlashChess

+0

Danke, das hat gut funktioniert. Ich habe früher einen ähnlichen Ansatz versucht, aber es sah schlecht aus, weil ich den Stil im Gegensatz zu Ihnen nicht mit HTML geändert habe. – jorkku

+0

Ich habe das Obige als Antwort gepostet. Vielleicht Häkchen, bis jemand etwas Besseres liefert? Bitte halten Sie mich auf dem Laufenden: Das interessiert mich definitiv auch. – InfiniteFlashChess

Antwort

1

Hier ist, was wir im Kommentarbereich des OP sprach

#tabsetPanel holds all of the tabs 

tabsetPanel( 

#create an empty tab with white text being the label 
#Inserting more text will increase the width of the label 

      tabPanel(tags$div( 

       HTML(paste(tags$span(style="color:white", "TYPE A LONG STRING HERE TO SPACE ACCORDINGLY"), sep = "")) 

      )), 

#Other tabpanels 

      tabPanel("visualization1",tableOutput("table1")), 

      tabPanel("visualization2",tableOutput("table2")), 

#Make sure to keep the selected = "tabPanel id" here because 
#it will default select the empty panel 

selected = "visualization1") 
+0

Das einzige Problem bei dieser Lösung besteht darin, dass die Registerkarten nur für eine bestimmte Fenstergröße zentriert sind. Wenn zum Beispiel von einem Monitor mit einer anderen Auflösung umgeschaltet wird, sind die Tabs nicht mehr zentriert. – jorkku

+0

gibt es eine Möglichkeit, dass Sie einen bestimmten% des Fensterplatzes nehmen können? Zum Beispiel gibt es in 'dygraphs' Plotoptionen zur Anzeige der Breite = 80%. Gibt es Optionen, um einen bestimmten% des Fensterplatzes einzunehmen? – InfiniteFlashChess

+0

Sie meinen so etwas? http://stackoverflow.com/questions/19096439/shiny-how-to-adjust-the-width-of-the-tabsetpanel?rq=1 – jorkku