import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import datetime
from datetime import date
import seaborn as sns
import calendar
import matplotlib.dates as mdates


data = pd.read_excel(r'C:\Users\stani\Desktop\Webapp\st_zagora\income_data.xlsx') 
df = pd.DataFrame(data)
df['data'] = pd.to_datetime(df['data']).dt.date
#choice_value=[2019, 2020]
#df1=df[df['year'].isin(choice_value)]

Medicines_costs =  df['Medicines_costs'].sum()
Electro = df['Electro'].sum()
Insurance = df['Insurance'].sum()	
wages_insurence = df['wages_insurence'].sum()
loans = df['loans'].sum()	
interest_loans = df['interest_loans'].sum()
leasing_contracts = df['leasing_contracts'].sum()	
fuel = df['fuel'].sum()
repair = df['repair'].sum()	
fodder = df['fodder'].sum()
seminal_fluid = df['seminal_fluid'].sum()	
ear_tags = df['ear_tags'].sum()
others = df['others'].sum()	


    #total_income = (df['income_milk'], df['income_animal'],df['income_calves'], df['grand']).sum()
total_expenses = sum([Medicines_costs, Electro, Insurance, wages_insurence, loans, interest_loans, leasing_contracts, fuel, repair, fodder, seminal_fluid, ear_tags, others])

percent_Medicines_costs = Medicines_costs/total_expenses*100
percent_Electro = Electro/total_expenses*100
percent_Insurance = Insurance/total_expenses*100
percent_wages = wages_insurence/ total_expenses*100 
percent_loans = loans/total_expenses*100
percent_interest_loans = interest_loans/total_expenses*100
percent_leasing_contracts = leasing_contracts/total_expenses*100
percent_fuel = fuel/ total_expenses*100 
percent_repair = repair/total_expenses*100
percent_fodder = fodder/total_expenses*100
percent_seminal_fluid = seminal_fluid/total_expenses*100
percent_ear_tags = ear_tags/total_expenses*100
percent_others = others/total_expenses*100


x_axis_name=['Expenses']
fig, ax = plt.subplots(figsize=(15,8))
#x = np.arange(len(df))
ax.autoscale()
    #print (x)
year_month_formatter = mdates.DateFormatter("%b") # four digits for year, two for month
half_year_locator = mdates.MonthLocator(interval=3)
ax.xaxis.set_major_locator(half_year_locator)
ax.xaxis.set_major_formatter(year_month_formatter) # formatter for major axis only

plt.bar(x_axis_name, percent_Medicines_costs, color='r')
plt.bar(x_axis_name, percent_Electro, bottom=percent_Medicines_costs, color='b')
plt.bar(x_axis_name, percent_Insurance, bottom=percent_Medicines_costs+percent_Electro, color='y')
plt.bar(x_axis_name, percent_wages, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance, color='g')
plt.bar(x_axis_name, percent_loans, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages, color='IndianRed')
plt.bar(x_axis_name, percent_interest_loans, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans, color='Pink')
plt.bar(x_axis_name, percent_leasing_contracts, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans, color='LightSalmon')
plt.bar(x_axis_name, percent_fuel, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans+percent_leasing_contracts, color='Gold')
plt.bar(x_axis_name, percent_repair, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans+percent_leasing_contracts+percent_fuel, color='Lavender')
plt.bar(x_axis_name, percent_fodder, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans+percent_leasing_contracts+percent_fuel+percent_repair, color='GreenYellow')
plt.bar(x_axis_name, percent_seminal_fluid, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans+percent_leasing_contracts+percent_fuel+percent_repair+percent_fodder, color='Aqua')
plt.bar(x_axis_name, percent_ear_tags, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans+percent_leasing_contracts+percent_fuel+percent_repair+percent_fodder+percent_seminal_fluid, color='Teal')
plt.bar(x_axis_name, percent_others, bottom=percent_Medicines_costs+percent_Electro+percent_Insurance+percent_wages+percent_loans+percent_interest_loans+percent_leasing_contracts+percent_fuel+percent_repair+percent_fodder+percent_seminal_fluid+percent_ear_tags, color='Cornsilk')
#width = 0.4
#plt.bar(df['data'], df['total_expenses'], 
 #       width, color='red', label='expenses')
 
plt.title('Different expenses streams', fontsize=25)
plt.xlabel('Expenses', fontsize=20)
#plt.xticks( fontsize=17)

plt.ylabel('Percent', fontsize=20)
#plt.yticks(fontsize=17)
#sns.despine(bottom=True)
#ax.grid(False)
#ax.tick_params(bottom=False, left=True)
#plt.legend(frameon=False, fontsize=15)
    #plt.show()
 
st.pyplot(fig)