Data Visualization

Matplotlib散布図マスターガイド:マーカーサイズ制御 または Matplotlib散布図:マーカーサイズを自在に操る

Spread the love

散布図は、2つの変数の関係を視覚化する効果的な方法です。広く使用されているPythonのプロットライブラリであるMatplotlibは、データ点を表すマーカーのサイズを含む、これらのプロットをカスタマイズするためのさまざまなオプションを提供します。この記事では、Matplotlibの散布図でマーカーサイズを制御するさまざまな方法について説明し、より有益で視覚的に魅力的な視覚化を作成できるようにします。

目次

‘s’キーワードによるマーカーサイズの制御

Matplotlibの散布図でマーカーサイズを調整する最も一般的で汎用性の高い方法は、scatter関数内でsキーワード引数を使用することです。s引数は、ポイントの2乗で表されるマーカーサイズを指定するスカラーまたは配列のようなオブジェクトを受け入れます。値100は、面積が100平方ポイントのマーカーを表します。


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
sizes = np.random.randint(10, 100, 10)  # 10から100の間のランダムなサイズ

plt.scatter(x, y, s=sizes)
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.title("可変マーカーサイズの散布図")
plt.show()

このコードは、各マーカーのサイズがsizes配列の対応する要素によって決定される散布図を作成します。sに単一のスカラー値を使用すると、すべての点でマーカーサイズが均一になります。

すべての点で均一なマーカーサイズ

すべてのデータ点で一貫したマーカーサイズを設定するには、s引数に単一のスカラー値を指定するだけです。


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.scatter(x, y, s=50)  # すべてマーカーのサイズは50
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.title("均一なマーカーサイズの散布図")
plt.show()

これにより、すべてマーカーの面積が50平方ポイントの散布図が生成されます。

データに基づく不均一なマーカーサイズ

多くの場合、マーカーサイズを第3の変数に基づいてスケールする必要があります。たとえば、人口データがある場合、人口密度が高い地域をより大きなマーカーで表すことができます。これは、データを適切なマーカーサイズにマッピングすることで簡単に実現できます。


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)
population = np.random.randint(1000, 10000, 10)  # 例としての人口データ

# 適切なマーカーサイズに人口をスケールする
sizes = (population / population.max()) * 200  # 妥当な範囲にスケールする

plt.scatter(x, y, s=sizes)
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.title("マーカーサイズが人口を表す散布図")
plt.show()

これにより、人口データがマーカーサイズに適した範囲にスケールされ、人口が多いほどマーカーが大きくなります。

シンプルな散布図のためのplot関数の使用

その柔軟性からscatter関数は一般的に散布図に推奨されますが、plot関数内のmarkersizeパラメータを使用してマーカーサイズを制御することもできます。ただし、この方法は柔軟性が低く、すべての点で単一のマーカーサイズしか許可されません。


import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(10)
y = np.random.rand(10)

plt.plot(x, y, 'o', markersize=10)  # すべてマーカーのサイズは10
plt.xlabel("X軸")
plt.ylabel("Y軸")
plt.title("plot関数を使用した散布図")
plt.show()

これは、scatterで均一なサイズを使用した場合と同様の結果になりますが、scatterは優れた制御を提供し、散布図の作成には一般的に推奨されます。'o'は円形のマーカーを指定することに注意してください。他のマーカースタイルも使用できます(詳細はMatplotlibのドキュメントを参照してください)。

この記事では、Matplotlibの散布図でマーカーサイズを制御するさまざまな手法を示し、視覚的に有益でカスタマイズされた視覚化を作成できるようにしました。データと目的の視覚表現に合わせてサイズスケーリングを調整してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です