Цветовая опция состояния гистограммы в matplotlib - PullRequest
0 голосов
/ 27 апреля 2020

Как я могу изменить приведенный ниже код, чтобы окрасить возрастную группу 0-20 в оранжевый цвет, а 60 выше - в красный, а остаток - в желтый?

Ниже приведен код:

Import matplotlib. pyplot as plt
dataset. Plot(Kind='bar', x='Patient_Age_Grp',y='Claim_amount', color='red') 
plt.xlabel('Age')
plt.ylabel('claimed amount') 
plt.show() 

Regard Newbee

1 Ответ

0 голосов
/ 27 апреля 2020

Я предпочитаю использовать прямую функцию matplotlib, а не реализацию любой другой библиотеки, например Pandas, так как иногда они не работают правильно (например, в случае twinx () для оси даты). Поэтому я написал бы ваш код следующим образом:

Import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.bar(dataset['Patient_Age_Grp'], dataset['Claim_amount'], 
       color = ['orange' if 20=>i>=0 else 'red' if i>=60 else 'yellow' for i in dataset['Patient_Age_Grp']]
       )
ax.set_xlabel('Age')
ax.set_ylabel('claimed amount') 
plt.show()

(PS Idk, если эти пробелы в вашем коде были из-за автокоррекции вашего телефона или нет, просто будьте осторожны с этим)

...