the right order)
      const xVals = dataOps.map(o => o.opcode);
      const currentY = dataOps.map(o => o.mean);
      const errorY = dataOps.map(o => o.stddev);
      const prevY = dataOps.map(o => o.previous);
      // Calculate saving percentage: saving is -changeEstimate.
      // Format as percentage (e.g., 0.1 -> 10%) later using hovertemplate formatting.
      const savingPercentages = dataOps.map(o => o.changeEstimate !== null ? o.changeEstimate : null);

      // build a colour array, one entry pe