Skip to main content

Overview

Cristalyse provides rich interaction capabilities that make your charts engaging and informative. From simple tooltips to complex pan and zoom operations, every interaction is optimized for performance and accessibility. Support for pinch gestures, scroll wheel, and floating buttons brings intuitive zooming to all platforms.

Tooltip Interactions

Basic Tooltips

Show contextual information when users hover over data points:

Multi-Column Tooltips

Display multiple data fields in formatted tooltips:

Custom Tooltip Builders

Create rich, branded tooltips with custom styling:

Tooltip Configuration

Fine-tune tooltip behavior and appearance:

Hover Interactions

Basic Hover Detection

Respond to mouse hover events on data points:

Advanced Hover Configuration

Control hover sensitivity and debouncing:

Click Interactions

Simple Click Handlers

Handle tap events on data points:

Multiple Click Types

Support different interaction patterns:

Pan Interactions

Basic Panning

Enable horizontal scrolling through large datasets:

Advanced Pan Configuration

Full control over pan behavior:

Programmatic Pan Control

Control chart panning programmatically with external UI controls:
Key Features:
  • panTo(): Jump to specific data range programmatically
  • panReset(): Return to original chart view
  • Works alongside gesture-based panning
  • Full lifecycle management with dispose()
Use Cases:
  • Zoom buttons for specific time ranges (“Last 7 days”, “Last month”)
  • Coordinated panning across multiple charts
  • Jump to bookmarked positions
  • Reset button after exploration
  • External slider controls for pan position

Zoom Interactions

Enable intuitive zooming with pinch gestures, scroll wheel, and UI buttons:

Basic Zoom Setup

Quick zoom configuration with one method:

Zoom Modes

Zoom can be configured for different axis combinations:

Advanced Zoom Configuration

Full control over zoom behavior and appearance:

Zoom Input Methods

Pinch Gesture (Touch):
  • Two-finger pinch to zoom in/out
  • Zoom centered at pinch focal point
  • Works with configured axes
Scroll Wheel (Desktop):
  • Scroll up to zoom in, scroll down to zoom out
  • Zoom centered at cursor position
  • Configurable sensitivity with wheelSensitivity
  • Precise zoom control for time-series and technical charts
Floating Buttons (All Platforms):
  • Optional +/- buttons for touch-friendly zoom
  • Configurable positioning with buttonAlignment
  • Adjustable zoom increment with buttonStep
  • Accessible for users with limited touch capability
Single Finger (Touch):
  • Single finger performs pan gesture
  • Works alongside zoom when multi-touch is detected

Zoom Information

The ZoomInfo object provides comprehensive zoom state data:
Use ZoomState to differentiate interaction phases:
  • ZoomState.start - User begins zoom gesture
  • ZoomState.update - Zoom in progress (fires continuously)
  • ZoomState.end - User completes zoom gesture

Combined Zoom & Pan

Zoom and pan work seamlessly together:

Use Cases

Time-Series Exploration:
Scientific Visualizations:
Mobile Dashboards:

Pan with Data Loading

Implement infinite scrolling patterns:

Combined Interactions

Rich Interactive Dashboard

Combine multiple interaction types for powerful user experience:

Performance Optimization

Large Dataset Interactions

Optimize interactions for thousands of data points:

Memory-Efficient Tooltips

Reuse tooltip widgets to reduce memory allocation:

Accessibility

Screen Reader Support

Ensure interactions work with assistive technologies:

Keyboard Navigation

Support keyboard-only users:

Best Practices

  • Use generous hit test radii (15-30px) for touch devices
  • Smaller hit areas (8-15px) for mouse-only interfaces
  • Consider overlapping points in dense visualizations
  • Test on actual devices for optimal sizing
  • Debounce rapid interactions to prevent performance issues
  • Use throttling for pan operations (16-32ms intervals)
  • Zoom updates are throttled internally and cannot be configured
  • Optimize tooltip rendering for large datasets
  • Consider disabling interactions during animations
  • Provide immediate visual feedback for all interactions
  • Use consistent interaction patterns across charts
  • Show loading states during data fetch operations
  • Implement undo/redo for destructive actions
  • Support keyboard navigation where appropriate
  • Provide alternative text for screen readers
  • Ensure sufficient color contrast in tooltips
  • Test with assistive technologies

Interaction Examples

Rich Tooltips

Multi-column tooltips with custom styling and animations

Click Actions

Navigation, details, and context menus triggered by clicks

Zoom Interactions

Pinch, scroll wheel, and button-based zoom for all platforms

Pan Interactions

Explore large datasets with smooth panning gestures

Hover Effects

Visual highlights and data previews on mouse hover

Next Steps

Animations

Combine interactions with smooth animations

Theming

Style interaction elements to match your design

Performance

Optimize interactions for large datasets

Export

Export charts while preserving interaction data