If this is for a publication you should definitely find the correct function(s) and plot that, not use something that looks kind of like it. Actually, you should do that anyway ...
That said, an extended version of my comment, using a logistic function for the plot:

(Yes, I know the ticklabels aren't sans serif. I think there are a couple of questions about that around though, so searching a bit should help if with that if you want it.)
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots, mhchem}
\pgfplotsset{compat=1.17}
\begin{document}
\begin{tikzpicture}[
declare function={L=100;k=2;x0=4.7;},
every node/.append style={font=\small\sffamily}
]
\begin{axis}[
small,
width=10cm,
height=5cm,
domain=0:14,
clip=false,
samples=100,
every axis plot/.append style={
no markers,
thick
},
axis lines=middle,
grid,
xtick distance=1,
ytick distance=20,
axis line style={shorten >=-8mm},
xlabel={pH},
ylabel={Proportions (\%)},
ylabel style={above right, yshift=3mm},
xlabel style={below right, xshift=3mm},
]
\addplot {L/(1+exp(-k*(x-x0)))} node[below, pos=0.95] {Base} node[above, pos=0.95] {\ce{A-}};
\addplot {L/(1+exp(k*(x-x0)))} node[below, pos=0.015] {Acide} node[above, pos=0.015] {\ce{AH}};
\draw [green, very thick] (x0, -10) node[below] {$\mathrm{pH}=\mathrm{p}K_A$} |- (-0.2, 50) node[left] {50\%};
\end{axis}
\end{tikzpicture}
\end{document}
\documentclass{standalone} \usepackage{pgfplots} \begin{document} \begin{tikzpicture}[declare function={L=100;k=2;x0=4.9;}] \begin{axis}[domain=0:14, no markers, samples=100] \addplot {L/(1+exp(-k*(x-x0)))}; \addplot {L/(1+exp(k*(x-x0)))}; \end{axis} \end{tikzpicture} \end{document}
?