36章seabornによる可視化

Matplotlibは、長年にわたりPythonにおける科学的な可視化の中核でしたが、望んだ結果が得られない場合が多いことを熱心な支持者でさえ認めています。よく聞かれる不満には次のようなものがあります。

  • バージョン2.0以前のデフォルトの色とスタイルは、貧弱で時代遅れに見えることがある。しかし、これは初期に多かった不満で、現在では改善されている。
  • Matplotlib APIは比較的低レベルであるため洗練された統計的可視化が可能であるが、多くの定型的なコードを必要とする。
  • Matplotlibはpandasより10年以上前に作られたため、pandasのDataFrameオブジェクトを使用するようには設計されていない。DataFrameからデータを可視化するには、Seriesを抽出し、それらを適切なフォーマットに連結する必要がある。DataFrameのラベルもインテリジェントに扱えるプロットライブラリがあると良い。

こうした諸問題に対する回答がseaborn(https://seaborn.pydata.org)です。seabornは適切な描画スタイルとデフォルトの配色、一般的な統計プロットに対するシンプルで高水準の関数、そしてpandasのDataFrameとの機能統合を、Matplotlib上のAPIとして提供します。

公平のために補足すると、Matplotlibチームは状況の変化に適応しています。「34章 Matplotlibのカスタマイズ:設定とスタイルシート」で説明したplt.styleツールが追加され、Matplotlibはpandasデータをよりシームレスに扱えるようになっています。しかし、ここまでに説明した理由から、seabornは依然として有用なアドオンと言えます。 ...

Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.