Pythonはデータ解析や機械学習の分野で広く使われています。その中でもデータ可視化は非常に重要で、データの特徴や傾向を把握するために欠かせないものです。
Pythonで複数の図を並べる方法
複数のグラフを並べることで、複数のデータを同時に比較することができます。Pythonでは、Matplotlibというライブラリを使うことで、複数のグラフを簡単に並べることができます。
コードと説明
以下のコードは、2つのグラフを並べる例です。
import numpy as np import matplotlib.pyplot as plt # データの作成 x = np.linspace(0, 10, 100) y1 = np.sin(x) y2 = np.cos(x) # グラフの描画 fig, (ax1, ax2) = plt.subplots(1, 2) ax1.plot(x, y1) ax1.set_title('sin(x)') ax2.plot(x, y2) ax2.set_title('cos(x)') plt.show()
このコードでは、subplots()
関数を使って、1行2列のグリッドを作成し、2つのグラフを作成しています。また、set_title()
関数を使って、各グラフにタイトルを設定しています。
実際のデータを用いた例
以下のコードは、irisデータセットを用いて、3つのグラフを並べる例です。
from sklearn.datasets import load_iris import matplotlib.pyplot as plt # データの読み込み iris = load_iris() # グラフの描画 fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(12, 4)) ax1.scatter(iris.data[:, 0], iris.data[:, 1], c=iris.target) ax1.set_title('Sepal length vs. Sepal width') ax2.scatter(iris.data[:, 0], iris.data[:, 2], c=iris.target) ax2.set_title('Sepal length vs. Petal length') ax3.scatter(iris.data[:, 0], iris.data[:, 3], c=iris.target) ax3.set_title('Sepal length vs. Petal width') plt.show()
このコードでは、load_iris()
関数を使って、irisデータセットを読み込んでいます。そして、subplots()
関数を使って、1行3列のグリッドを作成し、3つのグラフを作成しています。各グラフは、花の3つの特徴量を比較したものです。
Pythonで複数の図を重ねる方法
複数のグラフを重ねることで、複数のデータを比較することができます。Pythonでは、Matplotlibというライブラリを使うことで、複数のグラフを簡単に重ねることができます。
コードと説明
以下のコードは、2つのグラフを重ねる例です。
import numpy as np import matplotlib.pyplot as plt # データの作成 x = np.linspace(0, 10, 100) y1 = np.sin(x) y2 = np.cos(x) # グラフの描画 plt.plot(x, y1) plt.plot(x, y2) plt.show()
このコードでは、plot()
関数を2回呼び出して、2つのグラフを重ねています。
実際のデータを用いた例
以下のコードは、irisデータセットを用いて、3種類の花の特徴量を比較する例です。
from sklearn.datasets import load_iris import matplotlib.pyplot as plt # データの読み込み iris = load_iris() # グラフの描画 plt.plot(iris.data[iris.target==0, 0], iris.data[iris.target==0, 1], 'o', label=iris.target_names[0]) plt.plot(iris.data[iris.target==1, 0], iris.data[iris.target==1, 1], 'o', label=iris.target_names[1]) plt.plot(iris.data[iris.target==2, 0], iris.data[iris.target==2, 1], 'o', label=iris.target_names[2]) plt.xlabel('Sepal length') plt.ylabel('Sepal width') plt.legend() plt.show()
このコードでは、plot()
関数を3回呼び出して、3種類の花の特徴量を比較しています。また、legend()
関数を使って、各グラフの凡例を表示しています。
よくあるエラーとその対処法
ModuleNotFoundError: No module named ‘matplotlib’
Matplotlibがインストールされていない場合に発生します。Matplotlibをインストールすることで、解決できます。
!pip install matplotlib
AttributeError: ‘AxesSubplot’ object has no attribute ‘legend’
Matplotlibのバージョンが古い場合に発生します。Matplotlibのバージョンを更新することで、解決できます。
!pip install --upgrade matplotlib
まとめ
PythonのMatplotlibを使うことで、複数のグラフを並べたり、重ねたりすることが簡単にできます。データ可視化はデータ解析や機械学習において重要な作業であり、Matplotlibを使うことで、効率的にデータを分析することができます。