Fix: Margins Y Axis
This commit is contained in:
@@ -39,7 +39,7 @@ export const HistoricalChartWidget = ({ ticker, mercado, dias }: HistoricalChart
|
||||
const prices = data.map(p => p.precioActual);
|
||||
const dataMin = Math.min(...prices);
|
||||
const dataMax = Math.max(...prices);
|
||||
const padding = (dataMax - dataMin) * 0.05; // 5% de padding
|
||||
const padding = (dataMax - dataMin) * 0.5; // 5% de padding
|
||||
const domainMin = Math.floor(dataMin - padding);
|
||||
const domainMax = Math.ceil(dataMax + padding);
|
||||
|
||||
@@ -49,6 +49,11 @@ export const HistoricalChartWidget = ({ ticker, mercado, dias }: HistoricalChart
|
||||
return `$${formatCurrency(tick)}`;
|
||||
};
|
||||
|
||||
// 3. Calcular el ancho del eje Y dinámicamente
|
||||
const maxLabel = yAxisTickFormatter(dataMax);
|
||||
// Calculamos un ancho base + un extra por cada carácter en la etiqueta más larga.
|
||||
const dynamicWidth = mercado === 'EEUU' ? 5 + (maxLabel.length * 4.5) : 15 + (maxLabel.length * 5);
|
||||
|
||||
return (
|
||||
<ResponsiveContainer width="100%" height={300}>
|
||||
<LineChart data={data} margin={{ top: 5, right: 30, left: 20, bottom: 5 }}>
|
||||
@@ -57,10 +62,11 @@ export const HistoricalChartWidget = ({ ticker, mercado, dias }: HistoricalChart
|
||||
<YAxis
|
||||
domain={[domainMin, domainMax]}
|
||||
tickFormatter={yAxisTickFormatter}
|
||||
width={75} // Damos un poco más de espacio para números grandes
|
||||
width={dynamicWidth}
|
||||
tickMargin={5}
|
||||
/>
|
||||
<Tooltip
|
||||
formatter={(value: number) => [`$${formatCurrency2Decimal(value)}`, 'Precio']}
|
||||
formatter={(value: number) => [`${formatCurrency2Decimal(value, mercado === 'EEUU' ? 'USD' : 'ARS')}`, 'Precio']}
|
||||
labelFormatter={formatTooltipLabel}
|
||||
/>
|
||||
<Legend />
|
||||
|
||||
Reference in New Issue
Block a user