In my opinion, if one wants to naturally customize 2D figures, use plain TikZ. If one, in addition, wants to naturally and mathematically customize 3D figures, use plain Asymptote.
How about this xycomb with Asymptote?

// Run on http://asymptote.ualberta.ca/
import three;
unitsize(1cm);
currentprojection=orthographic((1,1,.5),center=true,zoom=.95);
surface b=scale3(.2)*unitsphere;
pair[] xycomb={(0,1), (3,0), (4,4), (3,2), (2,4), (0,4)};
real[] h={1.5,2,1,3,1,3.5};
pen[] p={red,blue,magenta,yellow,orange,green};
pen q=linewidth(2mm)+opacity(1);
triple[] Mxy,M;
for (int i=0; i<xycomb.length; ++i){
M.push((xycomb[i].x,xycomb[i].y,h[i]));
Mxy.push((xycomb[i].x,xycomb[i].y,0));
draw(Mxy[i]--M[i],p[i]+q);
draw(shift(M[i])*b,p[i]);
}
// grid on XY-plane
import grid3;
limits((-1,-1,0),(5,5,0));
grid3(XYXgrid,step=1,.5gray+.5white);
draw(Label("$x$",EndPoint),-X--5X,Arrow3);
draw(Label("$y$",EndPoint),-Y--5Y,Arrow3);
draw(Label("$z$",EndPoint),O--3Z,Arrow3());
Appendix The option xcomb, ycomb, xbar, ybar are initially in TikZ (see Section 22.8
Smooth Plots, Sharp Plots, Jump Plots, Comb Plots and Bar Plots in the pgfmanual) that pgfplots is based on, I guess.

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[thick]
\draw plot[ycomb,mark=ball] coordinates{(1,1) (2,1.5)};
\draw[gray,<->]
(3,0) node[right,black]{$x$}--(0,0)--(0,2) node[above,black]{$y$};
\end{tikzpicture}
\end{document}
However, if one likes drawing directly with plain TikZ, then xcomb, ycomb, xbar, ybar can be ignored

\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[c/.style={circle,inner sep=2pt},thick]
\draw[red] (1,0)--+(90:1) node[c,fill=red]{};
\draw[blue] (2,0)--+(90:1.5) node[c,fill=blue]{};
\draw[gray,<->]
(3,0) node[right,black]{$x$}--(0,0)--(0,2) node[above,black]{$y$};
\end{tikzpicture}
\end{document}