Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
by Jake VanderPlas, 菊池 彰
第IV部Matplotlibによる可視化
ここではMatplotlibライブラリを使用したPythonの可視化を詳しく解説します。MatplotlibはNumPy配列の上に構築され、より広範なSciPyスタック上で動作するように設計されたマルチプラットフォームのデータ可視化ライブラリです。当初は、IPythonのコマンドラインからgnuplotを呼び出してMATLAB形式の描画を対話的に行うためのIPythonパッチとして、2002年にJohn Hunterによって考案されたのが始まりです。IPythonの作成者であるFernando Pérezは、当時PhDを取得するために奔走しており、数ヶ月間はパッチをレビューするための時間が取れないことをJohnに告げていました。そのためJohnは急遽方針を転換し、バージョン0.1 のMatplotlibパッケージを2003年にリリースすることになります。その後、(ハッブル宇宙望遠鏡の運用を行う)宇宙望遠鏡科学研究所(Space Telescope Science Institute, STScI)がグラフ描画のパッケージとして選定したことで、財政的な支援を得て機能を大きく発展させました。
Matplotlibの最も重要な機能の1つは、さまざまなオペレーティングシステムとグラフィックスバックエンドとうまく連携できることです。Matplotlibは何十種類ものグラフィックスバックエンドと出力形式をサポートしています。つまり、どのようなオペレーティングシステムを使用しても、どのようなフォーマットで出力しても、問題なく動作します。こうした、あらゆるものからあらゆるものをサポートするクロスプラットフォームのアプローチは、Matplotlibの大きな強みの1つです。結果として多くのユーザを獲得し、積極的な開発者による機能の充実が進んだことにより、Pythonによる科学技術計算の世界ではMatplotlibがあまねく広まることになりました。 ...