panel-holoviews
Panel + HoloViews Integration Patterns
- DO let Panel control the renderer theme
- DON'T set
hv.renderer('bokeh').theme = 'dark_minimal'
- DON'T set
DynamicMap: Preserve Zoom/Pan Across Data Refreshes
When you set pane.object = new_plot, Bokeh resets all axes ranges. Wrap the plot function in hv.DynamicMap so Bokeh updates data in the existing figure rather than replacing it.
DON'T: Replace chart object directly
# BAD — zoom resets every refresh
self._chart_pane.object = df.hvplot.scatter(...)
DO: Use DynamicMap with a trigger parameter
More from marcskovmadsen/holoviz-mcp
panel
Best practices for developing tools, dashboards and interactive data apps with HoloViz Panel. Create reactive, component-based UIs with widgets, layouts, templates, and real-time updates. Use when developing interactive data exploration tools, dashboards, data apps, or any interactive Python web application. Supports file uploads, streaming data, multi-page apps, and integration with HoloViews, hvPlot, Pandas, Polars, DuckDB and the rest of the HoloViz and PyData ecosystems.
13panel-material-ui
Best practices for developing modern looking tools, dashboards and data apps using HoloViz Panel and Panel Material UI components.
10hvplot
Best practices for doing quick exploratory data analysis with minimal code and a Pandas .plot like API using HoloViews hvPlot.
7param
Use when building Python classes with validated, typed parameters using the Param library. Triggers include creating configuration classes, building reusable components with state, implementing reactive dependencies between parameters, adding type-safe attributes with bounds/constraints, creating testable parameterized classes, or when users mention param.Parameterized, @param.depends, or param.watch.
6holoviews
Best practices for developing advanced, interactive, and publication-quality data visualizations using HoloViz HoloViews
6panel-custom-components
Build custom Panel components using JSComponent (vanilla JS, web components), ReactComponent (React/JSX), AnyWidgetComponent (AnyWidget spec for cross-platform), or MaterialUIComponent (Material UI themed). Use when wrapping JS libraries, creating interactive widgets, or building themed components. Includes decision guide, best practices, DOs/DON'Ts, and Playwright UI testing patterns.
6