web-dev-qa-db-ja.com

RGBカラー値をPythonのmatplotlib eventplotに渡す方法は?

私は単にmatplotlibのeventplotを使用して特定の色でいくつかの目盛りをプロットしようとしています。 %matplotlibをインライン化したJupyterノートブックでPython 3を実行しています。

次にコード例を示します。

import numpy as np
import matplotlib.pyplot as plt    
spikes = 100*np.random.random(100)
plt.eventplot(spikes, orientation='horizontal', linelengths=0.9, color=[0.3,0.3,0.5])

次のエラーが出力されます。

ValueError: colors and positions are unequal sized sequences

エラーはおそらく、データと同じ長さの色のリストを提供していないために発生します(ただし、すべてが同じ色である必要はありません!)。また、「クリムゾン」や「オーキッド」などの色文字列を使用するとエラーが発生します。しかし、「r」のような単純な1文字の文字列を使用すると機能します。

「r」、「b」、「g」、「k」、「m」、「y」などの非常に限定された1文字の色文字列のセットを使用することに本当に制限されているのか、または長い色を作るこのeventplotを使用するときにリスト?

10
Bow

docs によると:

(r、g、b)または(r、g、b、a)タプルを渡すことができます。r、g、bおよびaはそれぞれ[0,1]の範囲にあります。

import numpy as np
import matplotlib.pyplot as plt

spikes = 100*np.random.random(100)
plt.eventplot(spikes, orientation='horizontal', linelengths=0.9, color = [(0.3,0.3,0.5)])

plt.show()

5