The powerful data exploration & web app framework for Python.
—
Display components that render various content types including text, images, plots, and integration with popular visualization libraries. Panes automatically detect and display different data formats, providing a unified interface for content presentation.
Components for displaying formatted text content in various markup languages.
class Str:
"""
String display pane for plain text content.
Parameters:
- object: Text string to display
- **params: Additional parameters
"""
class HTML:
"""
HTML content pane for rendering HTML markup.
Parameters:
- object: HTML string or file path
- **params: Additional parameters
"""
class Markdown:
"""
Markdown content pane for rendering Markdown text.
Parameters:
- object: Markdown string or file path
- extensions: List of Markdown extensions to enable
- **params: Additional parameters
"""
class JSON:
"""
JSON data display pane with syntax highlighting.
Parameters:
- object: JSON object or string
- depth: Maximum depth to expand objects
- **params: Additional parameters
"""
class LaTeX:
"""
LaTeX equation pane for mathematical expressions.
Parameters:
- object: LaTeX equation string
- **params: Additional parameters
"""Panes for displaying various image formats and media content.
class Image:
"""
Generic image pane that auto-detects image format.
Parameters:
- object: Image file path, URL, or binary data
- width: Image width
- height: Image height
- **params: Additional parameters
"""
class PNG:
"""
PNG image pane for PNG format images.
Parameters:
- object: PNG image data or file path
- **params: Additional parameters
"""
class JPG:
"""
JPEG image pane for JPEG format images.
Parameters:
- object: JPEG image data or file path
- **params: Additional parameters
"""
class GIF:
"""
GIF image pane for animated and static GIF images.
Parameters:
- object: GIF image data or file path
- **params: Additional parameters
"""
class SVG:
"""
SVG image pane for scalable vector graphics.
Parameters:
- object: SVG markup string or file path
- **params: Additional parameters
"""
class PDF:
"""
PDF document pane for displaying PDF files.
Parameters:
- object: PDF file path or binary data
- **params: Additional parameters
"""
class Audio:
"""
Audio player pane for audio file playback.
Parameters:
- object: Audio file path or URL
- **params: Additional parameters
"""
class Video:
"""
Video player pane for video file playback.
Parameters:
- object: Video file path or URL
- **params: Additional parameters
"""Panes that integrate with popular Python visualization libraries.
class Matplotlib:
"""
Matplotlib figure pane for displaying matplotlib plots.
Parameters:
- object: Matplotlib figure object
- dpi: Resolution for figure rendering
- **params: Additional parameters
"""
class Bokeh:
"""
Bokeh plot pane for displaying Bokeh visualizations.
Parameters:
- object: Bokeh plot object
- **params: Additional parameters
"""
class Plotly:
"""
Plotly figure pane for interactive Plotly charts.
Parameters:
- object: Plotly figure object
- **params: Additional parameters
"""
class HoloViews:
"""
HoloViews object pane for HoloViews visualizations.
Parameters:
- object: HoloViews element or layout
- **params: Additional parameters
"""
class Interactive:
"""
HoloViews interactive pane with dynamic controls.
Parameters:
- object: HoloViews DynamicMap or function
- **params: Additional parameters
"""
class Vega:
"""
Vega-Lite pane for Vega-Lite specifications.
Parameters:
- object: Vega-Lite specification dict
- **params: Additional parameters
"""
class ECharts:
"""
Apache ECharts pane for ECharts visualizations.
Parameters:
- object: ECharts configuration dict
- **params: Additional parameters
"""
class Perspective:
"""
Perspective.js pane for interactive data visualization.
Parameters:
- object: DataFrame or data for visualization
- **params: Additional parameters
"""
class DeckGL:
"""
Deck.gl pane for WebGL-powered data visualizations.
Parameters:
- object: Deck.gl JSON specification
- **params: Additional parameters
"""
class Vizzu:
"""
Vizzu animated charts pane for dynamic data storytelling.
Parameters:
- object: Vizzu chart configuration
- **params: Additional parameters
"""
class RGGPlot:
"""
R ggplot2 pane for R-based statistical graphics.
Parameters:
- object: R ggplot2 object
- **params: Additional parameters
"""Panes that integrate with scientific computing and data analysis libraries.
class VTK:
"""
VTK 3D visualization pane for scientific data.
Parameters:
- object: VTK render window or dataset
- **params: Additional parameters
"""
class VTKVolume:
"""
VTK volume rendering pane for 3D volume data.
Parameters:
- object: VTK volume data
- **params: Additional parameters
"""
class Streamz:
"""
Streamz stream pane for real-time data streams.
Parameters:
- object: Streamz stream object
- **params: Additional parameters
"""Panes for integrating external widget libraries and frameworks.
class IPyWidget:
"""
IPython widget wrapper pane for Jupyter widgets.
Parameters:
- object: IPython widget object
- **params: Additional parameters
"""
class IPyLeaflet:
"""
IPython leaflet maps pane for interactive maps.
Parameters:
- object: IPython leaflet map object
- **params: Additional parameters
"""
class Reacton:
"""
Reacton component wrapper pane for React-style components.
Parameters:
- object: Reacton component
- **params: Additional parameters
"""
class Textual:
"""
Textual UI pane for terminal-based user interfaces.
Parameters:
- object: Textual app object
- **params: Additional parameters
"""General-purpose panes for various display needs.
class Alert:
"""
Alert message pane for notifications and warnings.
Parameters:
- object: Alert message text
- alert_type: Alert style ('primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark')
- **params: Additional parameters
"""
class Placeholder:
"""
Placeholder pane for temporary content during loading.
Parameters:
- **params: Additional parameters
"""
class YT:
"""
YouTube video pane for embedding YouTube videos.
Parameters:
- object: YouTube video URL or ID
- **params: Additional parameters
"""import panel as pn
# Display different content types
html_pane = pn.pane.HTML("<h1>Welcome</h1><p>This is HTML content.</p>")
markdown_pane = pn.pane.Markdown("## Markdown Title\nThis is **markdown** content.")
json_pane = pn.pane.JSON({"key": "value", "number": 42})
# Arrange in layout
content = pn.Column(html_pane, markdown_pane, json_pane)# Display images from various sources
local_image = pn.pane.PNG("path/to/image.png")
url_image = pn.pane.Image("https://example.com/image.jpg")
svg_graphic = pn.pane.SVG("<svg>...</svg>")
image_gallery = pn.Row(local_image, url_image, svg_graphic)import matplotlib.pyplot as plt
import plotly.express as px
# Create matplotlib plot
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4], [1, 4, 2, 3])
mpl_pane = pn.pane.Matplotlib(fig)
# Create plotly plot
plotly_fig = px.scatter(df, x="x", y="y", color="category")
plotly_pane = pn.pane.Plotly(plotly_fig)
# Combine visualizations
viz_dashboard = pn.Row(mpl_pane, plotly_pane)import param
class DataViewer(param.Parameterized):
data_source = param.Selector(default='A', objects=['A', 'B', 'C'])
def view(self):
if self.data_source == 'A':
return pn.pane.DataFrame(df_a)
elif self.data_source == 'B':
return pn.pane.Plotly(plot_b)
else:
return pn.pane.HTML("<h2>No data selected</h2>")
viewer = DataViewer()
dynamic_pane = pn.bind(viewer.view, viewer.param.data_source)Panel automatically selects the appropriate pane type based on the object type:
# These will automatically use the correct pane
pn.panel(matplotlib_figure) # -> Matplotlib pane
pn.panel(plotly_figure) # -> Plotly pane
pn.panel(pandas_dataframe) # -> DataFrame pane
pn.panel("<h1>HTML</h1>") # -> HTML pane
pn.panel("## Markdown") # -> Markdown pane