diff --git a/xg2.js b/xg2.js
index 9e621114e5ee56c30410c464e155a01603787356..5fc083ed051c79d9b4c44ba124247de356b404ad 100644
--- a/xg2.js
+++ b/xg2.js
@@ -165,11 +165,10 @@
             .attr("width", d => Math.abs(x(d.xG_diff) - x(0))) // Longitud proporcional a xG_diff
             .attr("height", y.bandwidth())
             .attr("fill", d => {
-                const maxValue = d3.max(filteredData, d => Math.abs(d.xG_diff));
-                const intensity = Math.max(0.4, Math.abs(d.xG_diff) / maxValue); // Usar maxValue para escalar y asegurar un mínimo de 0.4
+                const logIntensity = Math.log(Math.abs(d.xG_diff) + 1) / Math.log(maxValue + 1);
                 return d.xG_diff > 0 
-                    ? d3.interpolateBlues(intensity) // Azul para valores positivos
-                    : d3.interpolateReds(intensity); // Rojo para valores negativos
+                    ? d3.interpolateBlues(logIntensity) // Azul para valores positivos
+                    : d3.interpolateReds(logIntensity); // Rojo para valores negativos
             })
             .on("click", function(event, d) {
                 infoContainer2