ui.page_sidebar
ui.page_sidebar(
sidebar,
*args,
title=None,
fillable=False,
fillable_mobile=False,
window_title=MISSING,
lang=None,
theme=None,
**kwargs,
)
Create a page with a sidebar and a title.
Parameters
sidebar : Sidebar
-
Content to display in the sidebar.
*args : TagChild | TagAttrs = ()
-
UI elements.
title : Optional[str | Tag | TagList] = None
-
A title to display at the top of the page.
fillable : bool = False
-
Whether or not the main content area should be considered a fillable (i.e., flexbox) container.
fillable_mobile : bool = False
-
Whether or not
fillable
should apply on mobile devices. window_title : str | MISSING_TYPE = MISSING
-
The browser’s window title (defaults to the host URL of the page). Can also be set as a side effect via panel_title.
lang : Optional[str] = None
-
ISO 639-1 language code for the HTML page, such as
"en"
or"ko"
. This will be used as the lang in the<html>
tag, as in<html lang="en">
. The default,None
, results in an empty string. theme : Optional[str | Path |
Theme
|ThemeProvider
] = None-
A custom Shiny theme created using the Theme class, or a path to a local or online CSS file that will replace the Bootstrap CSS bundled by default with a Shiny app. This file should be a complete
bootstrap.css
orbootstrap.min.css
file. For advanced uses, you can also pass a Tagifiable object. In this case, Shiny will suppress the default Bootstrap CSS. To modify the theme of an app without replacing the Bootstrap CSS entirely, use include_css to add custom CSS. ****kwargs** : TagAttrValue = {}
-
Additional attributes passed to layout_sidebar.
Returns
: Tag
-
A UI element.
Examples
#| standalone: true
#| components: [editor, viewer]
#| layout: vertical
#| viewerHeight: 400
## file: app.py
import matplotlib.pyplot as plt
import numpy as np
from shiny import App, Inputs, Outputs, Session, render, ui
app_ui = ui.page_sidebar(
ui.sidebar(
ui.input_slider("n", "N", min=0, max=100, value=20),
),
ui.card(
ui.output_plot("plot"),
),
)
def server(input: Inputs, output: Outputs, session: Session):
@render.plot(alt="A histogram")
def plot() -> object:
np.random.seed(19680801)
x = 100 + 15 * np.random.randn(437)
fig, ax = plt.subplots()
ax.hist(x, input.n(), density=True)
return fig
app = App(app_ui, server)