Предположим, у меня есть вертикальная гистограмма, подобная этой:
MWE за это предложение :
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
bar = ax.bar([1,2,3,4,5,6],[4,5,6,3,7,5], bottom=[1,7,4,6,3,2])
def gradientbars(bars):
grad = np.atleast_2d(np.linspace(0,1,256)).T
ax = bars[0].axes
lim = ax.get_xlim()+ax.get_ylim()
for bar in bars:
bar.set_zorder(1)
bar.set_facecolor("none")
x,y = bar.get_xy()
w, h = bar.get_width(), bar.get_height()
ax.imshow(grad, extent=[x,x+w,y,y+h], aspect="auto", zorder=0)
ax.axis(lim)
gradientbars(bar)
plt.show()
Есть ли простой способ покрасить столбцы с помощью карты цветов в соответствии с y-значениями, которые они на самом деле охватывают (предположим, моя цветовая шкала имеет значение 1-12, где 1 обозначено желтым, а 12 - темно-синим)?
Я пытался приспособить этот пример, но не смог.