Я написал код, который устанавливает цвет лица графика в зависимости от отметок оси Y. Код, который я использовал, -
import matplotlib.pylab as plt
from matplotlib.font_manager import FontProperties
fig = plt.figure(figsize=(8,5)) #height x width
ax = plt.subplot(1,1,1)
ax.spines["top"].set_visible(False)
ax.spines["bottom"].set_visible(False)
ax.spines["right"].set_visible(False)
ax.spines["left"].set_visible(False)
ax.get_xaxis().tick_bottom()
ax.get_yaxis().tick_left()
plt.ylim(0,100)
plt.yticks(range(0, 101, 10), [str(x) + "%" for x in range(0, 101, 10)],
fontsize=5)
plt.tick_params(axis='both', which='both', bottom=False, top=False,
labelbottom=True, left=False, right=False, labelleft=True,labelsize=5)
plt.axhspan(0, 40, facecolor=('green'))
plt.axhspan(40,60, facecolor=(255/255.,215/255.,0/255.))
plt.axhspan(60,80, facecolor=(255/255.,140/255.,0/255.))
plt.axhspan(80,100, facecolor=(139/255.,0/255.,0/255.))
plt.show()
График, который я получаю, - 
Я использовал те же цвета в таблице для обозначения значения цветов на графике.Таблица выглядит следующим образом. Код, который я использую для создания таблицы: -
ax=plt.gca()
col_labels=['Utilization_Range','Representation','Meaning']
table_vals=[['<=40%','L','Low risk'],['41%-60%','M','Medium Risk'],['61%-80%','H','High Risk'],['>80%','^','Very High Risk']]
# the rectangle is where I want to place the table
the_table = plt.table(cellText=table_vals,
colWidths = [0.1]*4,
colLabels=col_labels,
bbox=[0.25, 0.5, 0.5, 0.45])
for (row, col), cell in the_table.get_celld().items():
if row==0:
cell.set_color('blue')
if row==1:
cell.set_color('green')
if row==2:
cell.set_color((255/255.,215/255.,0/255.))
if row==3:
cell.set_color((255/255.,140/255.,0/255.))
if row==4:
cell.set_color((139/255.,0/255.,0/255.))
the_table.set_fontsize(16)
the_table.scale(2,2)
Таблица, которую я получаю, -
Сейчас Я хочуустановить цвет лица графика для разных областей, упомянутых в форме указанного градиента цветов (под градиентом я подразумеваю, если я использую красный для диапазона y от 0 до 40, тогда различные интенсивности красного цвета должны быть заполнены на графике от более высокой интенсивности до более низкойинтенсивность в направлении увеличения оси х ).Например, для диапазона (0,40) по yaxis цвет должен быть градиентом зеленого цвета, начиная с более темного оттенка до более низкого оттенка. Я хочу отразить тот же градиент, что и в таблице.
Я пробовал использовать "imshow ", но я не могу понять, как включить это в мое дело. Будет очень полезно, если кто-то решит связанную проблему.