[Python]図のサイズを調整 !

はじめに

データの可視化はデータ分析の重要な一環であり、Pythonにはグラフ描画ライブラリのMatplotlibがあります。Matplotlibは使いやすく、豊富な機能がありますが、初心者にとっては使い方が難しいことがあります。本記事では、Pythonでのグラフ描画について、基本的な使い方と図のサイズ調整方法について紹介します。

Pythonでのグラフ描画について

Pythonでグラフを描く場合、Matplotlibが代表的なライブラリです。Matplotlibは、Pythonの基本的なデータ構造であるリストや配列を使ってグラフを描画できます。また、様々なグラフの種類を提供しており、線グラフ、棒グラフ、散布図、ヒストグラムなどを描画することができます。

Matplotlibの基本的な使い方

Matplotlibを使用するには、まずpyplotモジュールをインポートします。pyplotモジュールには、グラフを描画するための関数が提供されています。次に、データを用意して、それをグラフとして描画します。

import matplotlib.pyplot as plt
# データの用意
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# グラフの描画
plt.plot(x, y)
plt.show()

このコードを実行すると、以下のようなグラフが表示されます。

図のサイズを変更する方法

Matplotlibで描画する図のサイズを変更するには、figure関数を使用します。figure関数には、figsizeという引数を与えることで、図のサイズを指定することができます。figsizeの引数には、横幅と縦幅を指定します。

import matplotlib.pyplot as plt
# データの用意
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 図のサイズを指定して、グラフを描画
plt.figure(figsize=(6, 4))
plt.plot(x, y)
plt.show()

このコードを実行すると、以下のようなグラフが表示されます。

サブプロットにおける図のサイズ調整

グラフを複数描画する場合、subplot関数を使用します。subplot関数には、グラフの配置を指定する引数を与えることができます。また、サブプロットの図のサイズを調整する場合は、subplots_adjust関数を使用します。subplots_adjust関数には、図のサイズを調整するためのパラメータを指定することができます。

import matplotlib.pyplot as plt
# データの用意
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [1, 3, 5, 7, 9]
# サブプロットの図のサイズを調整して、グラフを描画
fig, axs = plt.subplots(1, 2, figsize=(8, 4))
fig.subplots_adjust(wspace=0.3)
axs[0].plot(x, y1)
axs[0].set_title('Graph1')
axs[1].plot(x, y2)
axs[1].set_title('Graph2')
plt.show()

このコードを実行すると、以下のようなグラフが表示されます。

実例を用いた図のサイズ調整

実際のデータを用いた図のサイズ調整の例を紹介します。以下のコードは、アメリカの各都市の人口推移を示すグラフを描画するものです。

import pandas as pd
import matplotlib.pyplot as plt
# データの読み込み
df = pd.read_csv('http://example.com/population.csv')
# グラフの描画
fig, axs = plt.subplots(2, 2, figsize=(10, 8))
fig.subplots_adjust(hspace=0.4)
axs[0, 0].plot(df['Year'], df['New York'])
axs[0, 0].set_title('New York')
axs[0, 1].plot(df['Year'], df['Los Angeles'])
axs[0, 1].set_title('Los Angeles')
axs[1, 0].plot(df['Year'], df['Chicago'])
axs[1, 0].set_title('Chicago')
axs[1, 1].plot(df['Year'], df['Houston'])
axs[1, 1].set_title('Houston')
plt.show()

図のサイズ調整の応用例

図のサイズ調整は、グラフだけでなく、画像やテキストの配置にも応用することができます。以下のコードは、画像とテキストを配置した図を描画するものです。

import matplotlib.pyplot as plt
from matplotlib.offsetbox import TextArea, DrawingArea, OffsetImage, AnnotationBbox
import matplotlib.image as mpimg
# 画像の読み込み
img = mpimg.imread('http://example.com/sample.png')
# 図のサイズを指定して、グラフを描画
fig, ax = plt.subplots(figsize=(6, 4))
# 画像の配置
imagebox = OffsetImage(img, zoom=0.5)
ab = AnnotationBbox(imagebox, (0.5, 0.5))
ax.add_artist(ab)
# テキストの配置
text = TextArea("Hello, world!", minimumdescent=False)
ab = AnnotationBbox(text, (0.2, 0.8), frameon=True)
ax.add_artist(ab)
plt.show()

まとめ

本記事では、Pythonでのグラフ描画について、Matplotlibの基本的な使い方と図のサイズ調整方法について紹介しました。図のサイズ調整は、グラフだけでなく、画像やテキストの配置にも応用することができます。データの可視化において、図のサイズ調整は重要な要素の一つであるため、ぜひ活用してください。