図内の各プロット線に新しい色を選択する方法 質問する

図内の各プロット線に新しい色を選択する方法 質問する

プロットされた各線に色を指定せず、各線に異なる色を割り当てたいのですが、次のように実行します。

from matplotlib import pyplot as plt
for i in range(20):
    plt.plot([0, 1], [i, i])

plt.show()

すると、次の出力が得られます。

上記のコードによって出力されたグラフの画像

上の画像を見ると、matplotlib が各行に異なる色を選択しようとしていることがわかりますが、最終的には色が再利用されます。つまり、上位 10 行は下位 10 行と同じ色を使用します。私は、すでに使用されている色の繰り返しを止め、使用する色のリストを渡したいだけです。

ベストアンサー1

私は通常、次の 2 番目を使用します。

from matplotlib.pyplot import cm
import numpy as np

#variable n below should be number of curves to plot

#version 1:

color = cm.rainbow(np.linspace(0, 1, n))
for i, c in enumerate(color):
   plt.plot(x, y, c=c)

#or version 2:

color = iter(cm.rainbow(np.linspace(0, 1, n)))
for i in range(n):
   c = next(color)
   plt.plot(x, y, c=c)

例2:iter、next color を使用したプロット例

おすすめ記事