Skip to content

Data Transformations

Cute Plot provides comprehensive data transformation capabilities that allow you to scale, offset, and manipulate series data in real-time without modifying the original data.

Transformation System Overview

Non-Destructive Transformations

All transformations in Cute Plot are non-destructive: - Original data preserved: Source data never modified - Real-time application: Transformations applied during visualization - Reversible: All transformations can be undone - Session persistence: Transformation settings maintained during session

BODMAS Order of Operations

Transformations follow standard mathematical order: 1. Multiply first: Scale operations (X multiply, Y multiply) 2. Add second: Offset operations (X add, Y add)

Formula: New_Value = (Original_Value × Multiplier) + Offset

Inline Transformation Controls

Access Location

Transformation controls appear directly in plot legends: - Per-series controls: Each plotted series has its own transformations - Legend integration: Controls embedded within series legend - Real-time updates: Changes apply immediately to visualization

Control Layout

Series Name: Filename - Series
[Rename Series Field]
[Delete Series Button]
────────────────────
Transform:
x: Mult [slider] Add [slider]
y: Mult [slider] Add [slider]
[Reset Transformations Button]

Transformation Types

X-Axis Transformations

Modify time or horizontal axis values:

X Multiply (Scale)

  • Range: -10.0 to +10.0
  • Default: 1.0 (no scaling)
  • Use cases:
  • Convert seconds to milliseconds (×1000)
  • Convert hours to minutes (×60)
  • Reverse time direction (×-1)

X Add (Offset)

  • Range: -1000.0 to +1000.0
  • Default: 0.0 (no offset)
  • Use cases:
  • Shift time origin
  • Synchronize different time bases
  • Apply time corrections

Y-Axis Transformations

Modify data or vertical axis values:

Y Multiply (Scale)

  • Range: -10.0 to +10.0
  • Default: 1.0 (no scaling)
  • Use cases:
  • Unit conversions (pu to percentage: ×100)
  • Engineering unit changes (V to kV: ×0.001)
  • Signal inversion (×-1)

Y Add (Offset)

  • Range: -1000.0 to +1000.0
  • Default: 0.0 (no offset)
  • Use cases:
  • Remove DC bias
  • Apply calibration offsets
  • Shift baseline reference

Using Transformation Controls

Slider Operation

  • Drag interaction: Click and drag to adjust values
  • Fine control: Slow dragging for precise values
  • Real-time feedback: Visual updates during dragging
  • Value display: Current values shown on sliders

Value Input

  • Direct entry: Click slider to enter exact values
  • Precision: Support for decimal values
  • Range validation: Values constrained to valid ranges

Reset Functionality

  • Reset button: Restores all transformations to default (1.0, 0.0)
  • Complete reset: Resets both X and Y transformations
  • Original data restoration: Returns to untransformed original data

Advanced Transformation Features

Pyramid Data Transformation

Transformations are applied efficiently to all downsampling levels: - Multi-level application: Transformations applied to all pyramid levels - Performance optimization: Avoids regenerating downsampled data - Consistent visualization: Maintains transformation across zoom levels

Original Data Preservation

The system maintains multiple data copies: - Original untransformed: True original data from file - Current transformed: Currently visible transformed data - Original pyramid: Original multi-level downsampled data - Transformed pyramid: Transformed multi-level downsampled data

Series Movement with Transformations

When moving series between subplots: - Transformation preservation: Current transformation values preserved - Automatic application: Transformations applied to new subplot - State transfer: Complete transformation state moves with series

Common Transformation Examples

Unit Conversions

Per-Unit to Percentage

Y Multiply: 100.0
Y Add: 0.0
Result: 1.05 pu → 105%

Seconds to Milliseconds

X Multiply: 1000.0
X Add: 0.0
Result: 1.5 s → 1500 ms

Voltage Scaling (kV to V)

Y Multiply: 1000.0
Y Add: 0.0
Result: 13.8 kV → 13800 V

Signal Processing

DC Bias Removal

Y Multiply: 1.0
Y Add: -2.5
Result: Remove 2.5 unit DC offset

Signal Inversion

Y Multiply: -1.0
Y Add: 0.0
Result: Flip signal vertically

Time Synchronization

X Multiply: 1.0
X Add: -0.1
Result: Shift signal 0.1 time units earlier

Calibration Corrections

Sensor Calibration

Y Multiply: 1.02    (2% gain correction)
Y Add: -0.05        (50 mV offset correction)

Time Base Correction

X Multiply: 0.9995  (0.05% time base error)
X Add: 0.0

Template Integration

Transformation in Templates

Templates can include transformation specifications:

subplots:
  - position: [0, 0]
    series_names: ["Voltage*"]
    transformations:
      - series_pattern: "Voltage*"
        operation: "multiply_y"
        value: 100.0        # Convert to percentage
      - series_pattern: "Time*"
        operation: "add_x"
        value: -1.0         # Shift time origin

Automatic Application

  • Template-based: Transformations applied automatically when using templates
  • Pattern matching: Transformations applied to series matching patterns
  • Override capability: Manual adjustments can override template transformations

Performance Considerations

Real-Time Updates

  • Immediate application: Transformations applied instantly
  • Viewport refresh: Automatic redraw after transformation changes
  • Downsampling integration: Works seamlessly with pyramid downsampling

Memory Efficiency

  • In-place operations: Transformations applied without data duplication
  • Original preservation: Minimal overhead for original data storage
  • Pyramid optimization: Efficient transformation of all detail levels

Best Practices

Transformation Strategy

  • Plan ahead: Consider all necessary transformations before starting
  • Document changes: Keep track of applied transformations
  • Consistent application: Apply similar transformations to related series

Unit Management

  • Clear labeling: Update axis labels to reflect transformed units
  • Consistent units: Ensure all related series use same units
  • Documentation: Document unit conversions for reproducibility

Precision Considerations

  • Avoid extreme values: Very large or small multipliers may cause precision issues
  • Order of operations: Remember BODMAS order (multiply then add)
  • Validation: Verify transformations produce expected results

Troubleshooting

Common Issues

Transformations Not Applying

  1. Check values: Verify transformation values are not defaults (1.0, 0.0)
  2. Slider response: Ensure sliders are responsive to interaction
  3. Data validity: Confirm series contains valid numeric data

Unexpected Results

  1. BODMAS order: Remember multiply occurs before add
  2. Value ranges: Check if values are within expected ranges
  3. Original data: Verify original data is as expected

Performance Issues

  1. Complex transformations: Simplify transformation values if possible
  2. Multiple series: Limit simultaneous transformations on many series
  3. Large datasets: Consider working with smaller data subsets

Visual Issues

  1. Axis scaling: Y-axis may need manual adjustment after transformation
  2. Display refresh: Click in plot area to force refresh if needed
  3. Zoom reset: Use zoom fit to see full transformed data range

Integration with Analysis

Query Analysis with Transformations

  • Transformed data analysis: Queries analyze transformed values
  • Consistent results: Query results reflect current transformations
  • Original vs transformed: Can analyze both original and transformed data

Annotation Compatibility

  • Position tracking: Annotations track with transformed coordinates
  • Value references: Annotation values reflect transformed data
  • Intersection detection: Works correctly with transformed data

Advanced Use Cases

Multi-Signal Normalization

Normalize multiple signals to common scale:

# Example: Normalize three voltage signals to 0-1 range
Signal 1: Y_mult = 1/Vmax1, Y_add = -Vmin1/Vmax1
Signal 2: Y_mult = 1/Vmax2, Y_add = -Vmin2/Vmax2  
Signal 3: Y_mult = 1/Vmax3, Y_add = -Vmin3/Vmax3

Phase Alignment

Align signals with different time bases:

# Example: Align three signals in time
Signal 1: X_add = 0.0      (reference)
Signal 2: X_add = -0.05    (5ms earlier)
Signal 3: X_add = +0.12    (12ms later)

Engineering Unit Standardization

Convert all measurements to standard engineering units:

# Power system example:
Voltage (kV): Y_mult = 1.0, Y_add = 0.0     (already in kV)
Current (A):  Y_mult = 0.001, Y_add = 0.0   (A to kA)  
Power (MW):   Y_mult = 1.0, Y_add = 0.0     (already in MW)

Next Steps

Master data transformations and then explore: 1. Advanced Configuration 2. Developer Guide 3. Quick Start Guide


Transformation tip: Remember the BODMAS order - multiply first, then add. Use reset button to quickly return to original data