\begin{tikzpicture}
\begin{groupplot}[
    group style={
        group size=4 by 1,
        horizontal sep=1cm,
        vertical sep=0cm,
        ylabels at=edge left,
        xlabels at=edge bottom,
    },
    width=3.8cm,
    height=3.8cm,
    % view={0}{90}, % View from top
    % axis equal image,
    % label
    xlabel shift=-0.12cm,         
    ylabel shift=-0.12cm,
    xlabel near ticks,
    ylabel near ticks,
    label style={font=\scriptsize},
    % Tick
    tick label style={font=\tiny},
    x tick label style={/pgf/number format/.cd, fixed, fixed zerofill, precision=1},
    y tick label style={/pgf/number format/.cd, fixed, fixed zerofill, precision=1},
    xtick style={thin},
    ytick style={thin},
    major tick length=2pt,
    xmin=0, xmax=1,
    ymin=0, ymax=1,
    %
    colormap/hot, % Choose colormap
    colorbar style={
        % ytick={75,80,...,100},
        width=0.2cm,
        at={(1.15,0.5)}, % Adjust horizontal position (x=1.0 is exactly at right axis edge)
        anchor=west,
        % height=5 cm,
        font=\scriptsize,            
        },
]

\nextgroupplot[
  xlabel={Score (Repeat)},
  ylabel={Score (QA)},
  grid=none,
  xmajorgrids=false,
  ymajorgrids=false,
  xminorgrids=false,
  yminorgrids=false,
]

\addplot[
    scatter,
    scatter src=explicit,
    only marks,
    mark=square*,
    mark size=2.2pt, % adjust size to perfectly fill your grid
    draw=none, % ensure no borders around scatter points
    line width=0pt, % make sure no outlines appear
]
table[col sep=comma,
      x=repeat-qa-x,
      y=repeat-qa-y,
      meta=repeat-qa-log] {data/scatter.csv};



\nextgroupplot[
  xlabel={Score (Repeat)},
  ylabel={Score (Summ.)},
]
\addplot[
    scatter,
    scatter src=explicit,
    only marks,
    mark=square*,
    mark size=2.5pt, % adjust size to perfectly fill your grid
]
table[col sep=comma,
      x=repeat-qa-x,
      y=repeat-qa-y,
      meta=repeat-summ-log] {data/scatter.csv};
    

\nextgroupplot[
  xlabel={Score (Repeat)},
  ylabel={Score (Reasoning)},
]
\addplot[
    scatter,
    scatter src=explicit,
    only marks,
    mark=square*,
    mark size=2.5pt, % adjust size to perfectly fill your grid
]
table[col sep=comma,
      x=repeat-qa-x,
      y=repeat-qa-y,
      meta=repeat-reason-log] {data/scatter.csv};
    

\nextgroupplot[
  colorbar, % Show colorbar
  xlabel={Score (QA-1)},
  ylabel={Score (QA-2)},
]
\addplot[
    scatter,
    scatter src=explicit,
    only marks,
    mark=square*,
    mark size=2.5pt, % adjust size to perfectly fill your grid
]
table[col sep=comma,
      x=repeat-qa-x,
      y=repeat-qa-y,
      meta=qa-qa-log] {data/scatter.csv};
    

\end{groupplot}
\end{tikzpicture}
