Визуализация 1D-данных с помощью цвета с помощью matplotlib

#python #matplotlib #plot

Вопрос:

У меня есть два массива x и y,и я хотел бы отобразить значение r2 (r2.shape=(1, N)) этих двух массивов в нижней части рисунка с цветом, используя библиотеку matplotlib в python. как в примере ниже


 пример изображения

Ответ №1:

Вы могли бы сделать это таким образом:

 N = 100
r2 = np.random.uniform(0,1,(1,N))
r2 = r2.T

fig, ax = plt.subplots()
ax.plot(np.arange(r2.shape[0]), r2[:,0])

my_cmap = plt.get_cmap("viridis")
rescale = lambda y: (y - np.min(y)) / (np.max(y) - np.min(y))

ax.bar(np.arange(len(r2)), height=0.05, width=1, bottom=0, color=my_cmap(rescale(r2[:,0])))
plt.show()
 

введите описание изображения здесь