\begin{tikzpicture}

\tikzstyle{h2o} = [or, mark=diamond, mark size=1pt]
\tikzstyle{snap} = [gr, mark=x, mark size=1.3pt]
\tikzstyle{pyramid} = [bl, mark=+, mark size=1.6pt]
\tikzstyle{prob} = [red, mark=*, mark size=0.9pt]

\begin{groupplot}[group style={columns=1},
    width=8.0cm,
    height=4.5cm,
    every axis plot/.append style={thick},
    % Label
    xlabel shift=-0.08cm,         
    ylabel shift=-0.15cm,
    xlabel near ticks,
    ylabel near ticks,
    label style={font=\footnotesize},
    xlabel={KV cache ratio},
    ylabel={Accuracy (\%)},
    % Grid
    grid=major,
    xmajorgrids=true,
    ymajorgrids=true,
    major grid style={dotted, black},
    % tick
    tick label style={font=\scriptsize},
    tick pos=left,
    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=0},
    xmax=1.0,
    xmin=0.1,
    xtick={0.2, 0.4, 0.6, 0.8, 1.0},
    ytick={20, 40, 60, 80, 100},
    ymax=100,
    extra x ticks={0.3, 0.5, 0.7, 0.9},   
    extra x tick labels={,,,},
    extra x tick style={
        grid=none,
        tick style={thin},
        major tick length=2.8pt,
    },    
    % title
    title style={
      at={(axis description cs:0.5,0.88)}, 
      anchor=south,
      font={\footnotesize}
    },    
    %legend
    legend image post style={scale=0.6},
    legend style={legend columns=1, font=\tiny, at={(0.96,0.08)}, anchor=south east, inner sep=1pt, row sep=-2pt},
    legend cell align={left},
]

\nextgroupplot[]
\addplot[prob] table[x=squad, y=ours, col sep=comma]{data/uniform.csv};\addlegendentry{KVzip}
\addplot[h2o] table[x=squad, y=ours-head, col sep=comma]{data/uniform.csv};\addlegendentry{KVzip-unif.}
\addplot[snap] table[x=squad, y=snap, col sep=comma]{data/uniform.csv};\addlegendentry{SnapKV}
\addplot[pyramid] table[x=squad, y=snap-head, col sep=comma]{data/uniform.csv};\addlegendentry{SnapKV-unif.}


\end{groupplot}
\end{tikzpicture}
