Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibでプロット線の色を取得する方法|get_color()の使い方を解説

Matplotlibでは、get_color() メソッドを使うことで、各プロット線に割り当てられた色を簡単に取得できます。この記事では、複数の曲線を描画し、それぞれの色(カラーコード)を取得してコンソールに出力するまでの手順を、サンプルコードとともにわかりやすく解説します。

処理の流れ

  • 図のサイズを設定し、サブプロット間および周囲の余白を自動調整します。
  • NumPy を使って xy のデータポイントを作成します。
  • plot() メソッドで (x, x)(x, x²)(x, x³) の3本の曲線を一度にプロットします。
  • 各プロット線に対応する凡例を配置します。
  • get_color() メソッドで各プロットの色を取得します。
  • show() メソッドで図を表示します。

サンプルコード

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = np.arange(10)
y = np.arange(10)

p = plt.plot(x, y, x, y ** 2, x, y ** 3)

plt.legend([p[0], p[1], p[2]], ["$y=x$", "$y=x^2$", "$y=x^3$"])

print("1つ目のプロットの色: ", p[0].get_color())
print("2つ目のプロットの色: ", p[1].get_color())
print("3つ目のプロットの色: ", p[2].get_color())

plt.show()

実行結果

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

Matplotlibでプロット線の色を取得する方法|get_color()の使い方を解説

同時に、コンソールには以下のように各プロット線の色が出力されます。

1つ目のプロットの色: #1f77b4
2つ目のプロットの色: #ff7f0e
3つ目のプロットの色: #2ca02c

ポイント解説

plot() メソッドは戻り値として Line2D オブジェクトのリストを返します。このオブジェクトに対して get_color() を呼び出すことで、Matplotlib のデフォルトカラーマップ(C0〜C9)に基づいて自動的に割り当てられた色を16進数のカラーコードとして取得できます。取得した色は、凡例や注釈のスタイルを揃えたい場合、あるい後続のプロットで同じ色を再利用したい場合などに活用すると便利です。

  1. Matplotlibで3D連続線をプロットする方法

    Matplotlibを使って3次元空間に連続的な線(3Dライン)を描画する方法を解説します。基本的な手順は以下の通りです。3Dプロットの手順図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。NumPyを使用して x と y のデータポイントを作成します。xとyのデータポイントから z のデータポイントを計算して作成します。figure() メソッドを使って、新しい図を作成するか既存の図をアクティブにします。add_subplot() メソッドに3D投影(projection=3d)を指定して、Axesを追加します。plot() メソッドを使って、x、y、zのデータポ

  2. Matplotlibで図のマージン(余白)を設定する方法をわかりやすく解説

    Matplotlibで作成するグラフの余白(マージン)を調整したい場合、margins()メソッドを使うことで簡単に設定できます。この記事では、実際のコード例とともに、マージン設定の基本的な手順を紹介します。margins()メソッドとはmargins()は、プロット領域の周囲にどれだけの余白を設けるかを指定するメソッドです。引数としてxやyに0〜1の範囲の値を渡すことで、軸方向ごとのマージン率を制御できます。例えばmargins(x=0, y=0)と指定すると、データ範囲ぴったりにプロットが表示され、余白がなくなります。実装手順figureサイズを設定し、サブプロット間および周囲のパディング