anchor.diff:  function format(value){
     value = parseFloat(value);
     if(value > 1000000) {
  -    return round(value / 1000000, 2).toLocaleString() + " M€";
  +    return round(value / 1000000, 2).toLocaleString() + "M €";
     } else {
       return round(value, 2).toLocaleString() + " €";
     }
  
positive.code:   font-weight: 300;
  }
  
  </style>
  
  <div class="column">
  
negative.code:     .selectAll("rect")
      .data(data)
      .join("rect")
      .attr("fill", d => d.ods !== undefined ? "" : "#5392cb")
      .attr("class", d => d.ods !== undefined ? "ods-" + d.ods : null)
      .attr("x", x(0))
      .attr("y", d => y(d.key))
      .attr("width", d => x(d.value) - x(0))
      .attr("height", y.bandwidth());
  
    svg.append("g")
      .attr("text-anchor", "end")
      .style("font", "12px sans-serif")
      .selectAll("text")
      .data(data)
      .join("text")
      .attr("fill",  d => (x(d.value) - x(0)) > 70 ? "white" : (d.ods !== undefined ? "" : "#5392cb") )
      .attr("style",  d => (x(d.value) - x(0)) > 70 ? "font-weight: normal" : "font-weight: bold")
      .attr("class", d => (x(d.value) - x(0)) < 70 ? (d.ods !== undefined ? "ods-" + d.ods : "") : "")
      .attr("x", d => (x(d.value) - x(0)) > 70 ? x(0) + 80 : x(d.value) + 60)
      .attr("y", d => y(d.key) + y.bandwidth() / 2)
      .attr("dy", "0.45em")
      .text(d => format(d.value));
  
    svg.append("g")
        .call(xAxis);
  