Advanced Configuration¶
Cute Plot provides extensive configuration options for customizing performance, appearance, analysis settings, and advanced features to suit your specific workflow requirements.
Application Settings¶
Query Analysis Configuration¶
Access via Settings → Query Options to customize data analysis features:
Basic Statistics (Always Enabled)¶
These core statistics are always calculated during query analysis: - Min/Max: Minimum and maximum values in selection - Mean: Average value - Standard Deviation: Measure of data spread - Count: Number of data points
Advanced Analysis Options (Configurable)¶
Toggle these features based on your analysis needs:
Signal Characteristics: - Window Width: Time span of selected region - Frequency: Dominant frequency analysis - Ramp Rate: Rate of change calculations - RMS: Root Mean Square values
Dynamic Response Analysis: - Rise Time: Time to reach percentage of final value - Recovery Time: Return to baseline analysis - Settling Time: Stability and settling analysis - Damping Ratio: Oscillation damping characteristics
Advanced Signal Processing: - FFT Analysis: Frequency domain analysis and harmonic content
Performance Configuration¶
File Loading Thresholds¶
Control when lazy loading is used:
# Default threshold: 2GB
file_size_threshold = 2000 # MB
# Override in file loaders:
loader.should_use_lazy_loading = True/False
Downsampling Parameters¶
Configure pyramid downsampling behavior:
# Default settings
downsample_amount = 10 # Target points per detail level
downsample_factor = 4 # Reduction factor between levels
max_screen_density = 4 # Points per screen pixel maximum
Memory Management¶
# Preview row limits for lazy loading
preview_rows = 200
# Buffer margins for smooth panning (pixels)
pan_margin = 50
Theme and Appearance¶
Built-in Themes¶
Access via Settings → Theme:
Dark Theme (Default)¶
- Background: Dark color scheme optimized for extended use
- Contrast: High contrast for data visibility
- Eye strain: Reduced eye strain in low-light conditions
Light Theme¶
- Background: Light color scheme for bright environments
- Print-friendly: Better for printed outputs
- Traditional: Classic scientific plotting appearance
Custom Themes¶
- Style Editor: Access advanced styling options
- Color customization: Modify colors for all UI elements
- Font settings: Adjust fonts, sizes, and weights
Color Palettes¶
Series Colors (20 Colors)¶
# Default color palette
_COLORS = [
(76, 114, 176), # Blue
(221, 132, 82), # Orange
(85, 168, 104), # Green
(196, 78, 82), # Red
(129, 114, 179), # Purple
(147, 120, 96), # Brown
(218, 139, 195), # Pink
(140, 140, 140), # Gray
(204, 185, 116), # Olive
(100, 181, 205), # Teal
# Extended colors...
]
Annotation Colors¶
Separate color palette for annotations ensures visual distinction from data series.
Development and Debugging¶
Debug Tools¶
Access via Settings menu:
Metrics Window¶
- Performance monitoring: Real-time FPS, memory usage
- Render statistics: Frame timing, GPU utilization
- System information: Hardware and software details
Style Editor¶
- Live editing: Modify UI appearance in real-time
- Component inspection: Examine individual UI elements
- Theme development: Create custom themes
Debug Inspector¶
- Widget hierarchy: Examine UI widget structure
- Property inspection: View and modify widget properties
- Event monitoring: Track user interactions and system events
Logger System¶
- Multi-level logging: Info, Warning, Error levels
- Real-time display: Live log updates
- Session recording: Complete session activity log
- Export capability: Save logs for analysis
Performance Monitoring¶
FPS Display¶
# Enable FPS counter (when available)
fps_bar = dcg.ProgressBar(
C, value=0.0, overlay="0 FPS", width="0.3*fullx"
)
Memory Tracking¶
Monitor application memory usage: - RAM consumption: Total memory usage - Data structure sizes: Memory per data component - Garbage collection: Memory cleanup events
Advanced File Handling¶
Custom File Format Support¶
Extending File Loaders¶
Create custom loaders for specialized formats:
from utils.file.base import BaseFileLoader, LoadResult
class CustomLoader(BaseFileLoader):
def supports_lazy_loading(self) -> bool:
return True
def load_normal(self) -> LoadResult:
# Implementation for normal loading
pass
def load_lazy(self) -> LoadResult:
# Implementation for lazy loading
pass
# Register new loader
from utils.file import LOADERS
LOADERS['.custom'] = CustomLoader
File Processing Pipeline Customization¶
Override data processing steps:
# Custom dataframe processing
def custom_process_dataframe(df):
# Custom column handling
# Custom data validation
# Custom type conversions
return processed_df
Batch Processing Configuration¶
Multi-File Loading¶
Configure concurrent file loading:
# Thread pool configuration
max_workers = 8 # Parallel file loading threads
queue_capacity = 100 # Maximum queued files
timeout_seconds = 300 # Loading timeout per file
Progress Tracking¶
Customize loading progress display:
class CustomProgressTracker:
def __init__(self, total_files):
self.total = total_files
self.completed = 0
def update_ui(self, completed):
# Custom progress display
pass
Template System Configuration¶
Template Storage Locations¶
# Default template directory
template_dir = Path.home() / ".cuteplot" / "templates"
# Custom template directories
custom_template_paths = [
"/shared/team_templates",
"/project/analysis_templates"
]
Pattern Matching Configuration¶
# Case sensitivity (default: False)
case_sensitive_matching = False
# Pattern timeout for complex matches
pattern_timeout_ms = 1000
# Maximum pattern recursion depth
max_pattern_depth = 10
Template Validation¶
# Strict parsing (default: True)
strict_template_parsing = True
# Auto-fix minor template issues
auto_fix_templates = True
# Template version compatibility
supported_template_versions = ["1.0", "1.1"]
Network and Licensing¶
License Configuration¶
License system settings:
# License server settings
license_server_url = "https://users.cuteplot.com"
license_timeout_seconds = 10
license_retry_attempts = 3
# Hardware ID generation
include_cpu_info = True
include_disk_info = True
include_network_info = False
Feedback System¶
# Feedback endpoint
feedback_url = "https://users.cuteplot.com/api/feedback"
# System information collection
collect_system_info = True
collect_hardware_id = True
collect_license_info = True
Environment Variables¶
Configuration Override¶
Set environment variables to override defaults:
# File size threshold for lazy loading (MB)
export CUTEPLOT_LAZY_THRESHOLD=1000
# Maximum memory usage (MB)
export CUTEPLOT_MAX_MEMORY=8192
# Default theme
export CUTEPLOT_THEME=dark
# Debug mode
export CUTEPLOT_DEBUG=true
# Custom template directory
export CUTEPLOT_TEMPLATE_DIR=/custom/templates
Development Variables¶
# Enable development features
export CUTEPLOT_DEV_MODE=true
# Detailed logging
export CUTEPLOT_LOG_LEVEL=debug
# Performance profiling
export CUTEPLOT_PROFILE=true
System Integration¶
File Association¶
Configure file type associations:
# macOS
defaults write com.apple.LaunchServices LSHandlers \
-array-add '{LSHandlerContentType=public.comma-separated-values;LSHandlerRoleAll=com.cuteplot.app;}'
# Windows (registry entries)
HKEY_CLASSES_ROOT\.csv\shell\open\command
"C:\Program Files\CutePlot\cuteplot.exe" "%1"
Command Line Interface¶
# Basic usage
cuteplot file1.csv file2.csv
# With template
cuteplot --template analysis.yaml data/*.csv
# Batch mode
cuteplot --batch --output results/ data/*.csv
Configuration Files¶
Application Configuration¶
Location: ~/.cuteplot/config.json
{
"theme": "dark",
"lazy_loading_threshold_mb": 2000,
"max_recent_templates": 10,
"default_query_options": {
"basic_stats": true,
"advanced_stats": false,
"fft_analysis": false
},
"performance": {
"max_memory_mb": 8192,
"thread_pool_size": 8,
"downsample_target": 10
}
}
User Preferences¶
Location: ~/.cuteplot/preferences.json
{
"window_geometry": {
"width": 1200,
"height": 800,
"x": 100,
"y": 100
},
"sidebar_width": 250,
"default_grid": {
"rows": 1,
"cols": 1
},
"shortcuts": {
"screenshot": "Ctrl+Shift+S",
"new_plot": "Ctrl+N"
}
}
Troubleshooting Configuration¶
Configuration Reset¶
Reset to defaults:
# Remove configuration directory
rm -rf ~/.cuteplot/
# Or reset specific files
rm ~/.cuteplot/config.json
rm ~/.cuteplot/preferences.json
Configuration Validation¶
# Validate configuration on startup
def validate_config():
# Check file permissions
# Validate JSON syntax
# Verify value ranges
# Report issues
pass
Common Configuration Issues¶
- File permissions: Ensure write access to config directory
- JSON syntax: Validate JSON files for syntax errors
- Value ranges: Check numeric values are within valid ranges
- Path validation: Verify custom paths exist and are accessible
Performance Tuning¶
Memory Optimization¶
# Garbage collection tuning
import gc
gc.set_threshold(700, 10, 10)
# Memory pool pre-allocation
preallocate_memory_mb = 1024
# Data structure optimization
use_memory_mapping = True
Rendering Optimization¶
# GPU acceleration
enable_gpu_acceleration = True
# Frame rate limiting
target_fps = 60
vsync_enabled = True
# Render quality vs performance
anti_aliasing_quality = "high" # low, medium, high
Data Processing Optimization¶
# Parallel processing
max_cpu_cores = os.cpu_count()
use_multiprocessing = True
# Chunk processing for large files
chunk_size_mb = 100
overlap_samples = 1000
Next Steps¶
Master advanced configuration and then explore: 1. Developer Guide 2. Quick Start Guide 3. API Reference
Configuration tip: Start with default settings and gradually customize based on your specific workflow requirements