У меня есть словарь устройств и их уровень заряда батареи, вот что я пытаюсь сделать, так это построить гистограмму, показывающую уровень заряда батареи разными цветами, красным, если батарея ниже 20, 20 60
Я использую matplotlib, pyplot и я пытаюсь перебрать значения ключей в моем словаре, но я получаю синтаксическую ошибку в моем for l oop (может il oop над ключами и установить значение цвета для каждой полосы?), я не уверен, что я делаю не так, это мой код:
import matplotlib.pyplot as plt
dic={'Door1':50,'Hall':20,'Garage':90,'Door101':15}
i=0
for i in dic.keys()
if dic.keys(i) <20:
color='r'
if 20<dic.keys(i) >=60
color='y'
if dic.keys(i) >=90
color='g
i=i+1
plt.bar(range(len(dic)), list(dic.values()), align='center' , color=color)
plt.xticks(range(len(dic)), list(dic.keys()))
plt.title('Battery Level')
#save my plot as a png file to insert in Ifram html later
plt.savefig('my_plot.png')
введите описание изображения здесь