Skip to content

Plotting & Visualization

Cute Plot provides advanced plotting capabilities designed for high-performance visualization of time-series data with sophisticated downsampling and interactive features.

Plot Architecture

Plot Tabs

  • Multiple plots: Create unlimited separate plot tabs
  • Independent settings: Each plot has its own configuration
  • Reorderable: Drag tabs to reorder
  • Add/Remove: Click "+" to add, right-click to remove tabs

Subplot Grid System

Each plot contains a configurable grid of subplots:

┌─────────┬─────────┬─────────┐
│ (0,0)   │ (0,1)   │ (0,2)   │  Row 0
├─────────┼─────────┼─────────┤
│ (1,0)   │ (1,1)   │ (1,2)   │  Row 1  
├─────────┼─────────┼─────────┤
│ (2,0)   │ (2,1)   │ (2,2)   │  Row 2
└─────────┴─────────┴─────────┘
   Col 0     Col 1     Col 2

Grid Configuration

  • Rows: 1-3 rows supported
  • Columns: 1-3 columns supported
  • Dynamic: Grid can be changed at any time
  • Content preservation: Existing plots maintained when changing grid size

Adding Series to Plots

Drag & Drop from Sidebar

  1. Select series: Choose one or more series in sidebar
  2. Drag to subplot: Drag any selected series to target subplot
  3. Automatic addition: All selected series added to the subplot
  4. Color assignment: Automatic color assignment from predefined palette

Template-Based Addition

  1. Load template: Select template from dropdown
  2. Drag files: Drag entire files to subplot area
  3. Pattern matching: Series automatically distributed based on template patterns

Series Legend Controls

Each series in a plot has legend controls:

Rename Series

  • Inline editing: Click the rename field in legend
  • Custom names: Override default "Filename - Series" format
  • Press Enter: Confirm name change

Delete Series

  • Delete button: Remove series from subplot
  • Immediate action: Series removed without confirmation
  • Color rebalancing: Remaining series colors automatically rebalanced

High-Performance Rendering

Pyramid Downsampling

Cute Plot uses advanced multi-level downsampling for smooth interaction with large datasets:

# Downsampling levels example:
Level 0: 1,000,000 points (original data)
Level 1:   250,000 points (4x downsampled)  
Level 2:    62,500 points (16x downsampled)
Level 3:    15,625 points (64x downsampled)

Adaptive Level Selection

  • Zoom level: Appropriate detail level chosen based on zoom
  • Screen pixels: Ensures 4 data points per screen pixel maximum
  • Smooth transitions: Seamless switching between detail levels

Downsampling Algorithm

Uses MinMaxLTTB (Min-Max Largest Triangle Three Bucket): - Preserves peaks: Important maxima and minima retained - Visual fidelity: Maintains visual characteristics of original data - Performance: Optimized for real-time interaction

Rendering Optimization

  • Visible range: Only renders data within visible plot range
  • Margin buffering: 50-pixel margins for smooth panning
  • Parallel processing: Multi-threaded rendering for multiple subplots
  • Memory efficient: Minimal memory footprint per series

Interactive Navigation

Zoom Operations

  • Mouse wheel: Zoom in/out at cursor position
  • Zoom rectangle: Right-click and drag to zoom to selection
  • Fit to data: Double-click to fit all data
  • Synchronized: X-axis zoom synchronized across all subplots

Pan Operations

  • Middle mouse drag: Pan view in any direction
  • Axis constraints: Hover over axis to constrain panning
  • Smooth panning: Optimized for fluid interaction

Axis Behavior

X-Axis Synchronization

  • Automatic sync: All subplots share the same X-axis range
  • Time alignment: Perfect alignment for comparing different measurements
  • Zoom propagation: Zoom operations affect all subplots simultaneously

Y-Axis Independence

  • Independent scaling: Each subplot has independent Y-axis
  • Auto-fit: Y-axis automatically fits to visible data range
  • Manual control: Can be manually adjusted if needed

Mouse Interactions Summary

Left Click:        Dismiss popups
Right Click:       Context menu / Zoom rectangle
Ctrl+Left Click:   Create query rectangle  
Middle Drag:       Pan view
Mouse Wheel:       Zoom in/out
Hover Axis:        Lock opposite axis during zoom

Plot Customization

Plot Titles and Labels

Access via right-click context menu:

Edit Plot Title

  1. Right-click in subplot
  2. Select Modify Plot LabelsTitle
  3. Enter new title
  4. Changes apply immediately

Edit Y-Axis Label

  1. Right-click in subplot
  2. Select Modify Plot Labelsy-axis
  3. Enter new label
  4. Changes apply immediately

Series Appearance

  • Automatic colors: 20 distinct colors in predefined palette
  • Color cycling: Colors repeat after 20 series
  • Line thickness: Optimized for clarity and performance
  • Anti-aliasing: Smooth line rendering

Plot Context Menu

Right-click any subplot to access:

Add Annotations Menu

  • Add horizontal line: Horizontal reference line at cursor Y position
  • Add vertical line: Vertical reference line at cursor X position
  • Add linked vertical line: Vertical line synchronized across all subplots
  • Add draggable text label: Custom text annotation at cursor position

Modify Plot Labels Menu

  • Title: Edit subplot title
  • Y-axis: Edit Y-axis label

Advanced Plotting Features

Series Movement Between Subplots

  1. Enable dragging: Hold mouse down on series legend for 200ms
  2. Drag tooltip: "Moving: Series Name" tooltip appears
  3. Drop target: Drop on target subplot
  4. Automatic transfer: Series moves with all transformations preserved

Multi-Series Operations

  • Batch addition: Multiple selected series added simultaneously
  • Parallel processing: Efficient processing of multiple series
  • Memory sharing: Shared data structures for memory efficiency

Plot State Management

  • Zoom state: Each subplot maintains independent zoom state
  • Series state: Series transformations and customizations preserved
  • Session persistence: Plot configuration maintained during session

Screenshot Functionality

Taking Screenshots

  1. Screenshot button: Click "Take Screenshot" in plot controls
  2. Auto-naming: Screenshots saved with timestamp
  3. High resolution: Full resolution capture
  4. Format: PNG format with transparency support

Screenshot Features

  • Current view: Captures exactly what's visible on screen
  • All subplots: Includes entire plot grid
  • UI elements: Includes titles, labels, and legends
  • File location: Screenshots saved in application directory

Performance Monitoring

Real-Time Metrics

Available through SettingsShow Metrics: - Frame rate: Current FPS - Memory usage: RAM consumption - Render times: Timing for different operations

Performance Tips

  • Close unused plots: Remove plots not currently needed
  • Limit series count: Avoid too many series in single subplot
  • Use templates: Templates optimize series distribution

Best Practices

Plot Organization

  • Logical grouping: Group related measurements in same subplot
  • Consistent scaling: Use similar Y-axis ranges for comparison
  • Clear labeling: Always label plots and axes descriptively

Performance Optimization

  • Selective plotting: Plot only necessary series
  • Template usage: Use templates for repeated analysis workflows
  • Memory monitoring: Monitor memory usage with large datasets

Visual Design

  • Color harmony: Let automatic coloring maintain visual consistency
  • Annotation moderation: Use annotations sparingly for clarity
  • Title consistency: Maintain consistent naming conventions

Troubleshooting

Common Plotting Issues

Series Not Appearing

  1. Check selection: Verify series are selected in sidebar
  2. Y-axis range: Check if data is outside visible Y range
  3. Data validity: Ensure series contains valid numeric data

Poor Performance

  1. Reduce series count: Plot fewer series simultaneously
  2. Close unused plots: Remove unnecessary plot tabs
  3. System resources: Check available RAM and CPU usage

Zoom/Pan Issues

  1. Reset view: Double-click to fit data
  2. Check data range: Ensure data exists in expected range
  3. Axis locks: Verify no axis locks are active

Visual Issues

  1. Refresh display: Click in plot area to refresh
  2. Window resize: Resize window to trigger redraw
  3. Graphics drivers: Ensure graphics drivers are up to date

Next Steps

Master plotting and visualization, then explore: 1. Data Querying & Analysis 2. Annotations & Markup
3. Data Transformations


Plotting tip: Use right-click zoom for precision zooming and Ctrl+click for data analysis queries