Вы можете попытаться добавить два столбца, а именно: «number_red», «number_blue»:
df['number_red']=np.where((df['keywords']=='nature')|(df['keywords']=='panorama'),df['number'],0)
df['number_blue']=np.where((df['keywords']!='nature')&(df['keywords']!='panorama'),df['number'],0)
«number_red» показывает только числа, которые принадлежат «панораме» или «природе», в то время как заполняются числа ключевые слова с нуля. 'number_blue' делает противоположное. (Вы можете напечатать df, чтобы посмотреть) Так что, если вы просто наложите эти два столбца на гистограмму:
plt.barh(df['keywords'],df['number_red'], color='red')
plt.barh(df['keywords'],df['number_blue'], color='blue')
Числа будут дополнительными, но покажут вам нужный цвет. Надеюсь, это поможет!