Spaces:
Sleeping
Sleeping
| import React, { FC } from 'react'; | |
| import { ResponsiveContainer, LineChart, CartesianGrid, XAxis, YAxis, Tooltip, Legend, Line } from 'recharts'; | |
| import { ChartRow } from '../types'; | |
| interface Props { | |
| data: ChartRow[]; | |
| selectedModels: string[]; | |
| comparisonMode: boolean; | |
| colors: string[]; | |
| } | |
| const LineTrendView: FC<Props> = ({ data, selectedModels, comparisonMode, colors }) => ( | |
| <div className="bg-white rounded-xl shadow-lg p-6 mb-8"> | |
| <h2 className="text-2xl font-bold text-gray-800 mb-6">Performance Trends</h2> | |
| <ResponsiveContainer width="100%" height={400}> | |
| <LineChart data={data}> | |
| <CartesianGrid strokeDasharray="3 3" /> | |
| <XAxis dataKey="name" /> | |
| <YAxis /> | |
| <Tooltip /> | |
| <Legend /> | |
| {comparisonMode | |
| ? selectedModels.map((model, index) => ( | |
| <Line | |
| key={model} | |
| type="monotone" | |
| dataKey={model} | |
| stroke={colors[index % colors.length]} // Cycle through colors | |
| strokeWidth={3} | |
| name={model} // Display model name in the legend | |
| /> | |
| )) | |
| : ( | |
| <> | |
| <Line type="monotone" dataKey="bleu" stroke="#4F46E5" strokeWidth={3} /> | |
| <Line type="monotone" dataKey="quality_score" stroke="#059669" strokeWidth={3} /> | |
| </> | |
| )} | |
| </LineChart> | |
| </ResponsiveContainer> | |
| </div> | |
| ); | |
| export default LineTrendView; | |