\documentclass[margin=2pt]{standalone}
\usepackage[dvipsnames]{xcolor}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{amsmath,amsfonts}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\pgfplotsset{compat=1.16}

\begin{document}
\begin{tikzpicture}[]

\pgfplotsset{every x tick label/.append style={font=\scriptsize, yshift=0ex}}
\pgfplotsset{every y tick label/.append style={font=\scriptsize, xshift=0ex}}

\begin{groupplot}[
    group style={group size=3 by 1, horizontal sep=3em}
]

\nextgroupplot[
    ymajorgrids,
    xmajorgrids,
    % ymode=log,
    % xmode=log,
    axis equal,
    % title={Conv-4},
    % title style={yshift=1.2em},
    ylabel={DAG-GFlowNet},
    xlabel={Exact posterior},
    ymin=0,
    ymax=1,
    xmin=0,
    xmax=1,
    % xminorticks=false,
    % yticklabel={
    %     \pgfmathparse{exp(\tick)}
    %     \pgfmathprintnumber[sci, precision=0]{\pgfmathresult}
    % },
    % log identify minor tick positions=true,
    height=6cm,
    width=6cm,
    legend style={font=\small},
    minor x tick num=1,
    minor y tick num=1,
]

\addplot[color=black, thick, dashed, mark=none] coordinates {(0, 0) (1, 1)};

figures/small-graphs/\addplot[color=BrickRed, mark=*, only marks, mark size=1.2pt, opacity=0.5] table[col sep=comma, x=full, y=estimate] {figures/small-graphs/edge.csv};

\nextgroupplot[
    ymajorgrids,
    xmajorgrids,
    % ymode=log,
    % xmode=log,
    axis equal,
    % title={Conv-4},
    % title style={yshift=1.2em},
    % ylabel={Estimated posterior},
    xlabel={Exact posterior},
    ymin=0,
    ymax=1,
    xmin=0,
    xmax=1,
    % xminorticks=false,
    % yticklabel={
    %     \pgfmathparse{exp(\tick)}
    %     \pgfmathprintnumber[sci, precision=0]{\pgfmathresult}
    % },
    % log identify minor tick positions=true,
    height=6cm,
    width=6cm,
    legend style={font=\small},
    minor x tick num=1,
    minor y tick num=1,
]

\addplot[color=black, thick, dashed, mark=none] coordinates {(0, 0) (1, 1)};

figures/small-graphs/\addplot[color=BrickRed, mark=*, only marks, mark size=1.2pt, opacity=0.5] table[col sep=comma, x=full, y=estimate] {figures/small-graphs/path.csv};

\nextgroupplot[
    ymajorgrids,
    xmajorgrids,
    % ymode=log,
    % xmode=log,
    axis equal,
    % title={Conv-4},
    % title style={yshift=1.2em},
    % ylabel={Estimated posterior},
    xlabel={Exact posterior},
    ymin=0,
    ymax=1,
    xmin=0,
    xmax=1,
    % xminorticks=false,
    % yticklabel={
    %     \pgfmathparse{exp(\tick)}
    %     \pgfmathprintnumber[sci, precision=0]{\pgfmathresult}
    % },
    % log identify minor tick positions=true,
    height=6cm,
    width=6cm,
    legend style={font=\small},
    minor x tick num=1,
    minor y tick num=1,
]

\addplot[color=black, thick, dashed, mark=none] coordinates {(0, 0) (1, 1)};

\addplot[color=BrickRed, mark=*, only marks, mark size=1.2pt, opacity=0.5] table[col sep=comma, x=full, y=estimate] {figures/small-graphs/markov_blanket.csv};

\end{groupplot}

\node[below=3em of {group c1r1}.south] (edge) {(a) Edge features};
\node[below=3em of {group c2r1}.south] (path) {(b) Path features};
\node[below=3em of {group c3r1}.south] (markov) {(c) Markov features};

\node[anchor=south east, above left=3pt of {group c1r1}.{south east}, inner sep=3pt, fill=white] (r_edge) {$r = 0.9992$};
\node[anchor=south east, above left=3pt of {group c2r1}.{south east}, inner sep=3pt, fill=white] (r_path) {$r = 0.9989$};
\node[anchor=south east, above left=3pt of {group c3r1}.{south east}, inner sep=3pt, fill=white] (r_markov) {$r = 0.9997$};

\end{tikzpicture}
\end{document}
