PandasのAPIリファレンスにあるSeries.plot.histのページにはHistogramと書かれているだけですが
そこにソースへのリンクがあったので定義を覗いてみると
hist()の定義がありましたが関数内では
| return self(kind='hist', bins=bins, **kwds) |
https://github.com/pandas-dev/pandas/blob/v0.22.0/pandas/plotting/_core.py#L2574-L2591, Line2591
という感じで単に引数kindをhistに指定してself()というものを呼び出ししているだけでした。また、このhist()はSeriesPlotMethodsというクラスに定義されていましたが、コメントには
| Plotting methods can also be accessed by calling the accessor as a method with the ``kind`` argument: ``s.plot(kind='line')`` is equivalent to ``s.plot.line()`` |
https://github.com/pandas-dev/pandas/blob/v0.22.0/pandas/plotting/_core.py#L2574-L2591, Line2483-2485
とあるので、両者に特に違いはないようです。
補足 : plot.hist()が関数.関数というように見えた理由
plot()を呼び出した場合、__call__が実行されます。__call__はクラスを関数っぽい呼び方をした場合に呼ばれる関数だそうで、__call__以降の部分で引数kindに対応したMPLPlotの派生クラスの関数が呼び出されているようです。plot.hist()のような呼び出しをした場合にも結局.self()として__call__が呼び出されているので結局は同じということになります。
ところで、このselfというのはとりあえず、クラス自身にアクセスできる変数だと思っていればよさそうです。厳密には間違いっぽいですが。
MPLPlotは詳しく読みませんでしたが、多分ここで描画の処理をしているんだろうと思います。ひとまずはこれくらいの理解で大丈夫そうです。
