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:panTo(): Jump to specific data range programmaticallypanReset(): Return to original chart view- Works alongside gesture-based panning
- Full lifecycle management with dispose()
- 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 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
- Optional +/- buttons for touch-friendly zoom
- Configurable positioning with
buttonAlignment - Adjustable zoom increment with
buttonStep - Accessible for users with limited touch capability
- Single finger performs pan gesture
- Works alongside zoom when multi-touch is detected
Zoom Information
TheZoomInfo object provides comprehensive zoom state data:
ZoomState to differentiate interaction phases:
ZoomState.start- User begins zoom gestureZoomState.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: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
Hit Areas
Hit Areas
- 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
Performance
Performance
- 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
User Experience
User Experience
- 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
Accessibility
Accessibility
- 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