データの可視化は、数値やテキストで表された大量のデータを、視覚的に一目で理解できる形にするために非常に重要です。グラフや図を使ってデータの特徴や傾向を掴むことは、分析や意思決定のための強力な手段です。Pythonでは、多くの強力なライブラリがこの目的に使用されていますが、その中でも matplotlib と seaborn は、最も広く利用されている可視化ライブラリです。
matplotlib は、Pythonの標準的なデータ可視化ライブラリです。低レベルから高度なカスタマイズまで、柔軟なコントロールができ、非常に多様なグラフを描くことができます。
まずは、ライブラリのインストール方法から始めます。matplotlib
がインストールされていない場合は、以下のコマンドでインストールします。
pip install matplotlib
matplotlib
でグラフを描くために基本的に使われるのが、pyplot
というサブモジュールです。pyplot
を使えば、簡単にグラフを作成できます。まずは、簡単な折れ線グラフを描くコード例を見てみましょう。
import matplotlib.pyplot as plt
# データの用意
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# グラフの作成
plt.plot(x, y)
# タイトルとラベルの設定
plt.title("Sample Line Plot")
plt.xlabel("X axis")
plt.ylabel("Y axis")
# グラフの表示
plt.show()
このコードは、X軸に1から5までの値、Y軸にそれぞれのXの値を二乗した値をプロットする単純な折れ線グラフです。plt.plot()
で線を引き、plt.title()
や plt.xlabel()
, plt.ylabel()
を使ってグラフのタイトルや軸ラベルを追加しています。
matplotlib
の強力な点は、グラフのスタイルを細かくカスタマイズできることです。例えば、以下のように線の色やスタイル、マーカーを変更することができます。
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# 線のスタイルや色、マーカーのカスタマイズ
plt.plot(x, y, color='green', linestyle='--', marker='o', label="Sample Data")
plt.title("Customized Line Plot")
plt.xlabel("X axis")
plt.ylabel("Y axis")
# 凡例の表示
plt.legend()
plt.show()
このコードでは、color
引数で線の色を緑に、linestyle
で線を破線に、marker
で各点に丸いマーカーを付けています。さらに、plt.legend()
を使って凡例を表示しています。
matplotlib
を使って描けるグラフは折れ線グラフだけではありません。棒グラフ、散布図、ヒストグラム、円グラフなど、さまざまな種類のグラフを簡単に作成できます。
棒グラフは、カテゴリごとのデータの比較に適しています。例えば、以下のコードで、カテゴリごとの売上を示す棒グラフを作成します。
import matplotlib.pyplot as plt
# カテゴリと売上データ
categories = ['A', 'B', 'C', 'D']
sales = [10, 20, 15, 25]
# 棒グラフの作成
plt.bar(categories, sales)
plt.title("Sales by Category")
plt.xlabel("Category")
plt.ylabel("Sales")
plt.show()
散布図は、二つの連続した変数の関係を視覚化するのに適しています。以下の例では、XとYのランダムデータを散布図で表現します。
import matplotlib.pyplot as plt
# ランダムなデータを生成
x = [5, 7, 8, 7, 2, 17, 2, 9, 4, 11]
y = [99, 86, 87, 88, 100, 86, 103, 87, 94, 78]
# 散布図の作成
plt.scatter(x, y)
plt.title("Sample Scatter Plot")
plt.xlabel("X values")
plt.ylabel("Y values")
plt.show()
ヒストグラムは、データの分布を視覚化するために使われます。以下は、ランダムに生成したデータの分布を表すヒストグラムです。
import matplotlib.pyplot as plt
# ランダムなデータ
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
# ヒストグラムの作成
plt.hist(data, bins=5)
plt.title("Sample Histogram")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
seaborn は、matplotlib
をベースにした高レベルな可視化ライブラリです。seabornは、特に統計的なデータを視覚化するのに適しており、より洗練されたグラフが簡単に作成できます。
seaborn
がインストールされていない場合、以下のコマンドでインストールします。
pip install seaborn
まずは、seaborn
を使って簡単な折れ線グラフを描いてみます。seabornのlineplot
関数を使えば、シンプルに折れ線グラフを描けます。
import seaborn as sns
import matplotlib.pyplot as plt
# データの準備
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
# seabornを使った折れ線グラフ
sns.lineplot(x=x, y=y)
plt.title("Seaborn Line Plot")
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.show()
matplotlib
と異なり、seaborn
では色やスタイルが自動的に設定されるため、コードがシンプルで、かつ見栄えの良いグラフが作成できます。
seaborn は、デフォルトで非常に美しいグラフを生成しますが、さらに高度なプロットを行うこともできます。特に、ヒートマップやペアプロットなど、複雑な統計的グラフの作成に便利です。
ヒートマップは、データの相関関係や密度を視覚化するのに役立ちます。以下は、ランダムな行列データをヒートマップで表現した例です。
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# ランダムなデータの生成
data = np.random.rand(10, 12)
# ヒートマップの作成
sns.heatmap(data, annot=True, cmap='coolwarm')
plt.title("Heatmap Example")
plt.show()
seaborn
の pairplot
を使うと、データセット内の全ての変数の組み合わせを散布図として表示することができます。これは、データの相関や分布を理解するのに非常に役立ちます。
import seaborn as sns
import matplotlib.pyplot as plt
from seaborn import load_dataset
# サンプルデータセットをロード
iris = load_dataset('iris')
# ペアプロットの作成
sns.pairplot(iris, hue='species')
plt.show()
matplotlib は汎用的で、カスタマイズが非常にしやすいですが、デフォルトのスタイルはシンプルです。一方、seaborn は、デフォルトで美しいスタイルを持ち、統計的なデータの視覚化に強いですが、細かいカスタマイズには多少の制限があります。以下に、両者の主な特徴をまとめます。
特徴 | matplotlib | seaborn |
---|---|---|
カスタマイズ | 非常に柔軟 | 一部制限あり |
デフォルトのスタイル | シンプル | 美しいデザインが標準 |
統計的可視化 | 対応可能だが設定が必要 | 統計グラフに強い |
ヒートマップなど | 対応可能だがやや手間がかかる | 簡単に作成できる |
最後に、実際のプロジェクトでデータの可視化を行う際のポイントをいくつか紹介します。
matplotlib
ではカスタマイズが可能ですが、視覚的な一貫性を保つために、過度なカスタマイズは避ける方が良い場合もあります。これで、matplotlib と seaborn を使ったデータの可視化についての基本的な内容を学びました。この章で紹介した内容を基に、実際のデータセットに適用し、より高度なデータ分析やレポート作成に役立ててください。
プログラミングを始めたいと思っているそこのあなた、独学よりもプログラミングスクールが断然おすすめです!理由は簡単、続けやすさです。
独学でプログラミングを続けるのは、実はかなりハードルが高いんです。データによると、なんと87.5%もの学習者が途中で挫折しているとか。一方、各プログラミングスクールが公表しているデータによると、受講生の約95%が最後までやり抜いているとのこと。数字を見れば一目瞭然、プログラミングスクールの方が圧倒的に続けやすいんです。
プログラミングスクールには有料と無料のタイプがありますが、その違いは次の通りです:
どちらが自分に合っているか、よく考えて選ぶのが大事です。
プログラミング初心者でも学びやすいと評判の『FREEKS』、その特徴は以下の通り:
なんと、月会費のみで全カリキュラムが受け放題!Java、PHP、HTML/CSS、JavaScriptなど、多彩なプログラミング言語が学べるんです。しかも、AIが質問に自動で答えてくれるシステムも導入済み。
カリキュラムを終了した後には、Freeks経由で未経験者でも取り組める副業案件の受注が可能。実務を通じてスキルを磨き、市場価値の高いエンジニアへの道が開けます。
独学で悩むくらいなら、まずはプログラミングスクールをチェックしてみるのもアリかもしれませんよ!
↓ ↓ こちらをクリック ↓ ↓