hist() calls bar() to create the plots. bar() creates a hggroup object whose children are patch objects, each of which has XData and YData properties defining where the patch should be drawn. Each of those patches will also have an empty ZData property.
You can play tricks such as grabbing the YData, setting the ZData to that, and setting the YData to an array of constant value.
For the scatter plot, use scatter3()