panel-holoviews

Integrate HoloViews and hvPlot visualizations into Panel apps with DynamicMap-based updates.

34|14|Updated Jul 4, 2025
One-click install
npx skills add https://github.com/MarcSkovMadsen/holoviz-mcp --skill panel-holoviews
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: panel-holoviews
Source: https://github.com/MarcSkovMadsen/holoviz-mcp/tree/main/skills/panel-holoviews
Command: npx skills add https://github.com/MarcSkovMadsen/holoviz-mcp --skill panel-holoviews

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Integrates HoloViews and hvPlot visualizations into Panel apps to preserve interactive state across data refreshes.

Core Features & Use Cases

  • Embedding HoloViews/hvPlot into Panel panes while preserving zoom/pan state with DynamicMap
  • Compose overlays using one DynamicMap per element to avoid type errors; enable cross-filtering with link_selections
  • Make plots responsive and interactive through streams (Selection1D, RangeXY, Tap, BoundsXY, Pipe, Buffer) and jslink
  • Bind Panel widgets to Bokeh plot properties using jslink for client-side interactivity

Quick Start

Create a Panel layout with HoloViews content and preserve interactivity by using DynamicMap-based compositions and jslink-powered widget bindings.

Frequently Asked Questions about panel-holoviews

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I preserve zoom and pan state in HoloViews plots when refreshing data in a Panel app?

Preserve zoom and pan state in HoloViews plots during Panel data refreshes by embedding visualizations using DynamicMap-based compositions. This approach maintains interactive state across updates without resetting the viewing area.

What is the best way to set up cross-filtering between hvPlot visualizations in a Panel dashboard?

Set up cross-filtering between hvPlot visualizations in a Panel dashboard using the link_selections function. Compose overlays using one DynamicMap per element to avoid type errors and enable coordinated selection across plots.

Can I bind Panel widgets directly to Bokeh plot properties for client-side interactivity?

Yes, you can bind Panel widgets directly to Bokeh plot properties for client-side interactivity using jslink. This bypasses server roundtrips and provides immediate responsive updates within HoloViews layouts.

Which HoloViews streams should I use for user interactions like taps and range selections in Panel?

Use HoloViews streams like Selection1D, RangeXY, Tap, and BoundsXY to capture user interactions in Panel apps. These streams enable dynamic updates and responsive feedback directly tied to user mouse actions.

Why does composing HoloViews overlays cause type errors in my Panel dashboard?

Composing HoloViews overlays causes type errors when mixing multiple elements incorrectly. To avoid these type errors in your Panel dashboard, compose overlays using one DynamicMap per element instead of combining them directly.