Pythonの描画ライブラリについて

ライブラリ,イメージ

AI実装検定のご案内

Pythonには、多彩なデータ可視化ライブラリが存在します。

用途や目的に応じて適切なライブラリを使い分けることで、分析の質や説得力を大きく高めることが可能です。

本記事では、主要な描画ライブラリの特徴・使いどころ・コード例を中心に、網羅的かつ実践的に解説します。

目次

Pythonの主要描画ライブラリ7選

Matplotlib

概要

Pythonにおける可視化の基本ライブラリ。

長年使われており、学術・ビジネス分野問わず広く利用されています。

細かいレイアウト調整やカスタマイズ性に優れます。

特徴

  • 基本的な2Dグラフ(線・棒・円・ヒストグラムなど)に対応
  • 複雑なサブプロット配置、グリッド、凡例、フォント調整も可能
  • pyplot方式とオブジェクト指向(OOP)方式の2通りの記述方法

サンプルコード(OOP方式推奨)

import matplotlib.pyplot as plt

fig, ax = plt.subplots()
ax.plot([1, 2, 3], [4, 6, 2])
ax.set_title("Line Chart")
ax.set_xlabel("X Axis")
ax.set_ylabel("Y Axis")
plt.show()

Seaborn

概要

Matplotlibをベースにした高水準ライブラリ。

統計的なグラフを簡単かつ美しく描画できます。

Pandasとの相性が非常に良く、データ分析者に人気。

特徴

  • ヒートマップ、バイオリンプロット、ペアプロットなど統計的可視化に最適
  • sns.objects という新しい記述方式がv0.12から導入(宣言的スタイル)

サンプルコード(クラシックスタイル)

import seaborn as sns

df = sns.load_dataset("iris")
sns.pairplot(df, hue="species")

Plotly

概要

インタラクティブなグラフ描画が可能なライブラリ。

ブラウザ上でズーム・ホバーなどの操作ができる。

Dashと連携すれば本格的なWebアプリも構築可能。

特徴

  • 2D/3Dグラフ、地図(Mapbox)などに対応
  • Webダッシュボード向けの第一選択肢
  • JavaScriptベースだがPython APIあり

サンプルコード

import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species")
fig.show()

Bokeh

概要

Plotlyと並ぶインタラクティブ可視化ライブラリ。

Jupyterノートブックとの統合やリアルタイムグラフに強く、HTML/JSで直接出力されます。

特徴

  • イベント対応のインタラクション(クリック・ズーム等)
  • Dashより軽量で、Flaskなどとの統合も容易

サンプルコード

from bokeh.plotting import figure, show
from bokeh.io import output_notebook

output_notebook()
p = figure(title="Line Example")
p.line([1, 2, 3], [4, 5, 6])
show(p)

Altair

概要

宣言的な記述スタイル(declarative grammar)を採用し、簡潔なコードで高度な可視化を可能にします。

Vega-Liteを基盤としており、直感的で読みやすい。

特徴

  • 自動軸調整・色分け・インタラクションが一行で可能
  • データは5,000行制限あり(解除には設定変更が必要)

サンプルコード

import altair as alt
from vega_datasets import data

cars = data.cars()
chart = alt.Chart(cars).mark_circle().encode(
    x='Horsepower',
    y='Miles_per_Gallon',
    color='Origin'
)
chart.show()

Pandas .plot()

概要

PandasのDataFrameオブジェクトに標準で備わっているプロット機能。

内部的にはMatplotlibを利用しており、簡易的な描画に最適。

特徴

  • 学習コストゼロで使える
  • Matplotlibをバックエンドに使っているため、細かい調整も可能

サンプルコード

import pandas as pd

df = pd.DataFrame({
    'Month': ['Jan', 'Feb', 'Mar'],
    'Sales': [100, 200, 300]
})

df.plot(x='Month', y='Sales', kind='bar')

Holoviews / Pygal / Mayavi(補足)

ライブラリ特徴
HoloviewsBokehやMatplotlibと連携し、少ないコードでインタラクティブグラフを生成可能
PygalSVG出力に強く、軽量グラフ作成に最適
Mayavi科学技術計算用の3D可視化に特化(NumPyと好相性)

使用目的別のおすすめライブラリ

使用目的・職種推奨ライブラリ
基本的なグラフ描画Matplotlib、Pandas
統計的データ可視化Seaborn
Webダッシュボード開発Plotly(+Dash)、Bokeh
モダンで直感的なグラフを描きたいAltair
地理情報のマッピングPlotly、Folium(補足)
科学的な3DグラフMayavi、Plotly(3D対応)

導入方法(インストール)

pip install matplotlib seaborn plotly bokeh altair pandas

Seabornの最新版(0.12以降)やAltairの制限解除には、公式ドキュメントの確認をおすすめします。

まとめと学習のステップアップ

Python,イメージ

描画ライブラリは目的によって選び方が大きく変わります。

以下のような流れで学ぶのが効果的です。

  • 基本を押さえるMatplotlibPandas.plot()で基礎固め
  • 統計に強くなるSeabornでデータ分析力を磨く
  • インタラクティブ性を学ぶPlotlyBokehに挑戦
  • 宣言的可視化を習得Altairで次世代型ビジュアライゼーションを体験

以上、Pythonの描画ライブラリについてでした。

最後までお読みいただき、ありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次