Currently, we use the plot for every possible kind of plot, and switch between them using the kind keyword argument.
From an API design and discoverability perspective, this seems less than ideal. If we had separate methods, standard introspection tools like IPython and autocomplete could help users figure out which arguments are applicable for which type of plot with less reliance on the documentation.
Another option is to make a .plot also an accessor, so we could have df.plot.scatter and so forth. But I suspect .plot_scatter would be a bit more discoverable.