import React from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; const DataVisualization: React.FC = () => { // Generate sample data similar to your reference image const generateTimeSeriesData = () => { const data = []; for (let i = 0; i <= 15; i++) { data.push({ time: i, shoulder_pan_pos: 100 - i * 8 + Math.sin(i * 0.5) * 20, shoulder_lift_pos: -30 + Math.cos(i * 0.3) * 15, elbow_flex_pos: 50 - i * 2 + Math.sin(i * 0.8) * 10, wrist_flex_pos: 80 - i * 3 + Math.cos(i * 0.6) * 25, wrist_roll_pos: 10 + Math.sin(i * 0.4) * 8, gripper_pos: -5 + Math.cos(i * 0.2) * 12, }); } return data; }; const leftChartData = generateTimeSeriesData(); const rightChartData = generateTimeSeriesData().map(item => ({ ...item, wrist_flex_pos: item.wrist_flex_pos + 20, wrist_roll_pos: item.wrist_roll_pos - 10, gripper_pos: item.gripper_pos + 15, })); const metricsList = [ { name: 'shoulder_pan_pos', color: '#ef4444', value: '-15.33' }, { name: 'shoulder_lift_pos', color: '#22c55e', value: '-18.39' }, { name: 'elbow_flex_pos', color: '#3b82f6', value: '34.99' }, ]; const rightMetricsList = [ { name: 'wrist_flex_pos', color: '#ef4444', value: '68.87' }, { name: 'wrist_roll_pos', color: '#22c55e', value: '-4.01' }, { name: 'gripper_pos', color: '#3b82f6', value: '19.82' }, ]; return (