У меня есть набор из N объектов с двумя свойствами: x и y. Я хотел бы изобразить распределение x с гистограммой в MATPLOTLIB с помощью hist(). Достаточно легко. Теперь я хочу, чтобы цветной код EACH bar гистограммы имел цвет, который представляет среднее значение y в этом наборе с цветовой палитрой. Есть простой способ сделать это? Здесь x и y являются массивами N-d numpy. Благодаря!Цветовое кодирование гистограммы
fig = plt.figure()
n, bins, patches = plt.hist(x, 100, normed=1, histtype='stepfilled')
plt.setp(patches, 'facecolor', 'g', 'alpha', 0.1)
plt.xlabel('x')
plt.ylabel('Normalized frequency')
plt.show()
Вы захватив объект 'patches' вернулся, вы не можете просто перебирать, что на основе' bins' и установить цвета, как вы считаете нужным? –
Итак, мне пришлось бы вручную проверять каждый из N объектов, для которых они находятся, записать там y и в конечном итоге взять средний y для определения цвета? – Cokes
Что-то в этом роде; во-первых, я бы, вероятно, объединил x и y в один массив, а затем отсортировал его по x. После этого выполните итерацию по данным, суммируя y, затем усредняя и раскрашивая, когда вы видите x пересекаете границу бина. –