Commit 1c41a3c9 authored by Manas Gabani's avatar Manas Gabani

Comments added, index page trend updated for classrooms, Presentation added

parent 44eadc7a
......@@ -10,15 +10,6 @@ import matplotlib.pyplot as plt
# import config,py
from config import *
default_state_code = 27 # for Maharashtra
# fig_size_w=16
# fig_size_h=13
fig_size_w, fig_size_h = 8, 6
fig_size_tr_w, fig_size_tr_h = 8,6
final_df=read_all_csv()
latest_year = max(final_df['Year'])
......@@ -26,23 +17,20 @@ app = Flask(__name__)
print(' ------------ Server Started ------------ ')
UPLOAD_FOLDER = 'static/'
app.secret_key = "secret key"
# app.secret_key = "secret key"
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config["CACHE_TYPE"] = "null"
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
# app.config["CACHE_TYPE"] = "null"
# app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
@app.after_request
def add_header(request):
"""
Add headers to both force latest IE rendering engine or Chrome Frame,
and also to cache the rendered page for 10 minutes.
"""
request.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
request.headers["Pragma"] = "no-cache"
request.headers["Expires"] = "0"
request.headers['Cache-Control'] = 'public, max-age=0'
return request
# routes for index.html
main_dimension_from_index = ''
facilities_from_index = "img/trend_school_facilities_index.jpeg"
index_summary = get_index_summary(final_df)
......@@ -62,6 +50,15 @@ def index():
total_schools_for_facilities_overall(os.path.join(app.config['UPLOAD_FOLDER'], facilities_from_index), final_df)
return render_template('index.html', index_summary=index_summary, main_dimension_index="Elementary Enrolment by School Category", main_dimension_from_index=main_dimension_from_index, facilities_from_index=facilities_from_index)
@app.route('/get_main_dimension_from_index', methods=['POST'])
def get_main_dimension_from_index():
global index_summary, main_dimension_mapping_for_index, main_dimension_from_index, facilities_from_index
main_dimension_tuple = main_dimension_mapping_for_index[request.form['dimension']]
main_dimension_from_index = "img/trend_{}_index.jpeg".format(request.form['dimension'])
main_dimension_overall(os.path.join(app.config['UPLOAD_FOLDER'], main_dimension_from_index), final_df, main_dimension_tuple[0], ylabel=main_dimension_tuple[1])
return render_template('index.html', index_summary=index_summary, main_dimension_index=main_dimension_tuple[0] , main_dimension_from_index=main_dimension_from_index, facilities_from_index=facilities_from_index)
# routes for students.html
students_summary = {}
trend_elementary_enrolment = ''
distribution_rural_enrolment = ''
......@@ -83,88 +80,6 @@ def students():
students_summary = get_dimension_wise_summary(final_df, default_state_code, "Elementary Enrolment by School Category")
return render_template('students.html', students_summary=students_summary, trend_elementary_enrolment=trend_elementary_enrolment, distribution_rural_enrolment=distribution_rural_enrolment, distribution_elementary_enrolment=distribution_elementary_enrolment, rural_enrolment_summary=rural_enrolment_summary, elementary_enrolment_summary=elementary_enrolment_summary, rural_enrolment_category=rural_enrolment_category, elementary_enrolment_category=elementary_enrolment_category)
teachers_summary = {}
trend_teachers = ''
distribution_teachers_by_category = ''
distribution_teachers_by_educational_qualification = ''
teachers_by_category_summary = {}
teachers_by_educational_qualification_summary = {}
teachers_category = ''
teachers_qualification = ''
@app.route('/teachers.html')
def teachers():
global teachers_summary, trend_teachers, distribution_teachers_by_educational_qualification, distribution_teachers_by_category, teachers_by_category_summary, teachers_by_educational_qualification_summary, teachers_category, teachers_qualification
teachers_category, teachers_qualification = 'Government', 'Below Secondary'
distribution_teachers_by_category = "img/distribution_teachers_by_category_govt_{}.jpeg".format(latest_year)
teachers_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_category), final_df, latest_year, ylabel="Number of Teachers / Population", main_dimension = "Teachers by School Category", sub_dimension=teachers_category)
distribution_teachers_by_educational_qualification = "img/distribution_teachers_by_educational_qualification_below_secondary_{}.jpeg".format(latest_year)
teachers_by_educational_qualification_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_educational_qualification), final_df, latest_year, ylabel="Number of Teachers / Population", main_dimension = "Teachers by Educational Qualification", sub_dimension=teachers_qualification)
trend_teachers="img/trend_teachers_by_category_{}.jpeg".format(default_state_code)
total_teachers_by_main_dimension(os.path.join(app.config['UPLOAD_FOLDER'], trend_teachers), final_df, "Teachers by School Category", default_state_code)
teachers_summary = get_dimension_wise_summary(final_df, default_state_code, "Teachers by School Category")
return render_template('teachers.html', teachers_summary=teachers_summary, trend_teachers=trend_teachers, distribution_teachers_by_category=distribution_teachers_by_category, distribution_teachers_by_educational_qualification=distribution_teachers_by_educational_qualification, teachers_by_category_summary=teachers_by_category_summary, teachers_by_educational_qualification_summary=teachers_by_educational_qualification_summary, teachers_category=teachers_category, teachers_qualification=teachers_qualification)
schools_summary = {}
trend_schools = ''
distribution_schools_by_category = ''
distribution_rural_schools_by_category = ''
schools_by_category_summary = {}
rural_schools_by_category_summary = {}
school_category = ''
rural_school_category = ''
@app.route('/schools.html')
def schools():
global schools_summary, trend_schools, distribution_rural_schools_by_category, distribution_schools_by_category, schools_by_category_summary, rural_schools_by_category_summary, school_category, rural_school_category
school_category, rural_school_category = 'Government', 'Government'
distribution_schools_by_category = "img/distribution_schools_by_category_govt_{}.jpeg".format(latest_year)
schools_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_schools_by_category), final_df, latest_year, ylabel="Number of Schools / Population", main_dimension = "School by Category", sub_dimension=school_category)
distribution_rural_schools_by_category = "img/distribution_rural_schools_by_category_below_secondary_{}.jpeg".format(latest_year)
rural_schools_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_rural_schools_by_category), final_df, latest_year, ylabel="Number of Schools / Population", main_dimension = "Rural Schools", sub_dimension=rural_school_category)
trend_schools = "img/trend_schools_category_{}.jpeg".format(default_state_code)
total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_schools), final_df, main_dimension='School by Category', state_code=default_state_code, ylabel='Number of Schools')
schools_summary = get_dimension_wise_summary(final_df, default_state_code, "School by Category")
return render_template('schools.html', schools_summary=schools_summary, trend_schools=trend_schools, distribution_schools_by_category=distribution_schools_by_category, distribution_rural_schools_by_category=distribution_rural_schools_by_category, schools_by_category_summary=schools_by_category_summary, rural_schools_by_category_summary=rural_schools_by_category_summary, school_category=school_category, rural_school_category=rural_school_category)
classrooms_summary = {}
trend_classrooms = ''
distribution_classroom_by_condition = ''
classroom_condition_summary = {}
classroom_condition = ''
@app.route('/classrooms.html')
def classrooms():
global classrooms_summary, trend_classrooms, distribution_classroom_by_condition, classroom_condition_summary, classroom_condition
classroom_condition = 'Good Condition'
distribution_classroom_by_condition = "img/distribution_classroom_by_condition_good_{}.jpeg".format(latest_year)
classroom_condition_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_classroom_by_condition), final_df, latest_year, ylabel="Number of Classrooms / Population", main_dimension = "Total Classrooms", sub_dimension=classroom_condition)
trend_classrooms = "img/trend_classrooms_{}.jpeg".format(default_state_code)
total_classrooms_by_trend(os.path.join(app.config['UPLOAD_FOLDER'], trend_classrooms), final_df, default_state_code)
classrooms_summary = get_dimension_wise_summary(final_df, default_state_code, "Total Classrooms")
return render_template('classrooms.html', classrooms_summary=classrooms_summary, trend_classrooms=trend_classrooms, distribution_classroom_by_condition=distribution_classroom_by_condition, classroom_condition_summary=classroom_condition_summary, classroom_condition=classroom_condition)
facilities_summary = {}
trend_school_facilities = ''
distribution_school_facility = ''
school_facility_summary = {}
school_facility = ''
@app.route('/facilities.html')
def facilities():
global facilities_summary, trend_school_facilities, distribution_school_facility, school_facility_summary, school_facility
school_facility = 'Schools with Drinking Water'
distribution_school_facility = "img/distribution_school_facility_drinking_water_{}.jpeg".format(latest_year)
school_facility_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_school_facility), final_df, latest_year, ylabel="Number of Schools / Population", main_dimension = "School Facilities", sub_dimension=school_facility)
trend_school_facilities = "img/trend_school_facilities_{}.jpeg".format(default_state_code)
total_schools_for_facilities(os.path.join(app.config['UPLOAD_FOLDER'], trend_school_facilities), final_df, default_state_code)
facilities_summary = get_dimension_wise_summary(final_df, default_state_code, "School Facilities")
return render_template('facilities.html', facilities_summary=facilities_summary, trend_school_facilities=trend_school_facilities, distribution_school_facility=distribution_school_facility, school_facility_summary=school_facility_summary, school_facility=school_facility)
@app.route('/get_main_dimension_from_index', methods=['POST'])
def get_main_dimension_from_index():
global index_summary, main_dimension_mapping_for_index, main_dimension_from_index, facilities_from_index
main_dimension_tuple = main_dimension_mapping_for_index[request.form['dimension']]
main_dimension_from_index = "img/trend_{}_index.jpeg".format(request.form['dimension'])
main_dimension_overall(os.path.join(app.config['UPLOAD_FOLDER'], main_dimension_from_index), final_df, main_dimension_tuple[0], ylabel=main_dimension_tuple[1])
return render_template('index.html', index_summary=index_summary, main_dimension_index=main_dimension_tuple[0] , main_dimension_from_index=main_dimension_from_index, facilities_from_index=facilities_from_index)
@app.route('/get_trend_for_elementary_enrolment', methods=['POST'])
def get_trend_for_elementary_enrolment():
global students_summary, form_value_to_main_dimension_mapping, trend_elementary_enrolment, distribution_elementary_enrolment, distribution_rural_enrolment, rural_enrolment_summary, elementary_enrolment_summary, rural_enrolment_category, elementary_enrolment_category
......@@ -193,6 +108,28 @@ def get_distribution_for_rural_enrolment():
rural_enrolment_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_rural_enrolment), final_df, requested_year, ylabel="Enrolments / Population", main_dimension = "Elementary Enrolment by School Category", sub_dimension=rural_enrolment_category)
return render_template('students.html', students_summary=students_summary, trend_elementary_enrolment=trend_elementary_enrolment, distribution_rural_enrolment=distribution_rural_enrolment, distribution_elementary_enrolment=distribution_elementary_enrolment, rural_enrolment_summary=rural_enrolment_summary, elementary_enrolment_summary=elementary_enrolment_summary, rural_enrolment_category=rural_enrolment_category, elementary_enrolment_category=elementary_enrolment_category)
# routes for teachers.html
teachers_summary = {}
trend_teachers = ''
distribution_teachers_by_category = ''
distribution_teachers_by_educational_qualification = ''
teachers_by_category_summary = {}
teachers_by_educational_qualification_summary = {}
teachers_category = ''
teachers_qualification = ''
@app.route('/teachers.html')
def teachers():
global teachers_summary, trend_teachers, distribution_teachers_by_educational_qualification, distribution_teachers_by_category, teachers_by_category_summary, teachers_by_educational_qualification_summary, teachers_category, teachers_qualification
teachers_category, teachers_qualification = 'Government', 'Below Secondary'
distribution_teachers_by_category = "img/distribution_teachers_by_category_govt_{}.jpeg".format(latest_year)
teachers_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_category), final_df, latest_year, ylabel="Number of Teachers / Population", main_dimension = "Teachers by School Category", sub_dimension=teachers_category)
distribution_teachers_by_educational_qualification = "img/distribution_teachers_by_educational_qualification_below_secondary_{}.jpeg".format(latest_year)
teachers_by_educational_qualification_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_educational_qualification), final_df, latest_year, ylabel="Number of Teachers / Population", main_dimension = "Teachers by Educational Qualification", sub_dimension=teachers_qualification)
trend_teachers="img/trend_teachers_by_category_{}.jpeg".format(default_state_code)
total_teachers_by_main_dimension(os.path.join(app.config['UPLOAD_FOLDER'], trend_teachers), final_df, "Teachers by School Category", default_state_code)
teachers_summary = get_dimension_wise_summary(final_df, default_state_code, "Teachers by School Category")
return render_template('teachers.html', teachers_summary=teachers_summary, trend_teachers=trend_teachers, distribution_teachers_by_category=distribution_teachers_by_category, distribution_teachers_by_educational_qualification=distribution_teachers_by_educational_qualification, teachers_by_category_summary=teachers_by_category_summary, teachers_by_educational_qualification_summary=teachers_by_educational_qualification_summary, teachers_category=teachers_category, teachers_qualification=teachers_qualification)
@app.route('/get_trend_for_teachers', methods=['POST'])
def get_trend_for_teachers():
global teachers_summary, form_value_to_main_dimension_mapping, trend_teachers, distribution_teachers_by_educational_qualification, distribution_teachers_by_category, teachers_by_category_summary, teachers_by_educational_qualification_summary, teachers_category, teachers_qualification
......@@ -221,6 +158,28 @@ def get_distribution_for_teachers_by_educational_qualification():
teachers_by_educational_qualification_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_educational_qualification), final_df, requested_year, ylabel="Number of Teachers / Population", main_dimension = "Teachers by Educational Qualification", sub_dimension=teachers_qualification)
return render_template('teachers.html', teachers_summary=teachers_summary, trend_teachers=trend_teachers, distribution_teachers_by_category=distribution_teachers_by_category, distribution_teachers_by_educational_qualification=distribution_teachers_by_educational_qualification, teachers_by_category_summary=teachers_by_category_summary, teachers_by_educational_qualification_summary=teachers_by_educational_qualification_summary, teachers_category=teachers_category, teachers_qualification=teachers_qualification)
# routes for schools.html
schools_summary = {}
trend_schools = ''
distribution_schools_by_category = ''
distribution_rural_schools_by_category = ''
schools_by_category_summary = {}
rural_schools_by_category_summary = {}
school_category = ''
rural_school_category = ''
@app.route('/schools.html')
def schools():
global schools_summary, trend_schools, distribution_rural_schools_by_category, distribution_schools_by_category, schools_by_category_summary, rural_schools_by_category_summary, school_category, rural_school_category
school_category, rural_school_category = 'Government', 'Government'
distribution_schools_by_category = "img/distribution_schools_by_category_govt_{}.jpeg".format(latest_year)
schools_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_schools_by_category), final_df, latest_year, ylabel="Number of Schools / Population", main_dimension = "School by Category", sub_dimension=school_category)
distribution_rural_schools_by_category = "img/distribution_rural_schools_by_category_below_secondary_{}.jpeg".format(latest_year)
rural_schools_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_rural_schools_by_category), final_df, latest_year, ylabel="Number of Schools / Population", main_dimension = "Rural Schools", sub_dimension=rural_school_category)
trend_schools = "img/trend_schools_category_{}.jpeg".format(default_state_code)
total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_schools), final_df, main_dimension='School by Category', state_code=default_state_code, ylabel='Number of Schools')
schools_summary = get_dimension_wise_summary(final_df, default_state_code, "School by Category")
return render_template('schools.html', schools_summary=schools_summary, trend_schools=trend_schools, distribution_schools_by_category=distribution_schools_by_category, distribution_rural_schools_by_category=distribution_rural_schools_by_category, schools_by_category_summary=schools_by_category_summary, rural_schools_by_category_summary=rural_schools_by_category_summary, school_category=school_category, rural_school_category=rural_school_category)
@app.route('/get_trend_for_schools', methods=['POST'])
def get_trend_for_schools():
global schools_summary, form_value_to_main_dimension_mapping ,trend_schools, distribution_rural_schools_by_category, distribution_schools_by_category, schools_by_category_summary, rural_schools_by_category_summary, school_category, rural_school_category
......@@ -249,6 +208,23 @@ def get_distribution_of_rural_schools_by_category():
rural_schools_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_rural_schools_by_category), final_df, requested_year, ylabel="Number of Schools / Population", main_dimension = "Rural Schools", sub_dimension=rural_school_category)
return render_template('schools.html', schools_summary=schools_summary, trend_schools=trend_schools, distribution_schools_by_category=distribution_schools_by_category, distribution_rural_schools_by_category=distribution_rural_schools_by_category, schools_by_category_summary=schools_by_category_summary, rural_schools_by_category_summary=rural_schools_by_category_summary, school_category=school_category, rural_school_category=rural_school_category)
# routes for classrooms.html
classrooms_summary = {}
trend_classrooms = ''
distribution_classroom_by_condition = ''
classroom_condition_summary = {}
classroom_condition = ''
@app.route('/classrooms.html')
def classrooms():
global classrooms_summary, trend_classrooms, distribution_classroom_by_condition, classroom_condition_summary, classroom_condition
classroom_condition = 'Good Condition'
distribution_classroom_by_condition = "img/distribution_classroom_by_condition_good_{}.jpeg".format(latest_year)
classroom_condition_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_classroom_by_condition), final_df, latest_year, ylabel="Number of Classrooms / Population", main_dimension = "Total Classrooms", sub_dimension=classroom_condition)
trend_classrooms = "img/trend_classrooms_{}.jpeg".format(default_state_code)
total_classrooms_by_trend(os.path.join(app.config['UPLOAD_FOLDER'], trend_classrooms), final_df, default_state_code)
classrooms_summary = get_dimension_wise_summary(final_df, default_state_code, "Total Classrooms")
return render_template('classrooms.html', classrooms_summary=classrooms_summary, trend_classrooms=trend_classrooms, distribution_classroom_by_condition=distribution_classroom_by_condition, classroom_condition_summary=classroom_condition_summary, classroom_condition=classroom_condition)
@app.route('/get_trend_for_classrooms', methods=['POST'])
def get_trend_for_classrooms():
global classrooms_summary, form_value_to_main_dimension_mapping, trend_classrooms, distribution_classroom_by_condition, classroom_condition_summary, classroom_condition
......@@ -267,6 +243,23 @@ def get_distribution_of_classroom_conditions():
classroom_condition_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_classroom_by_condition), final_df, latest_year, ylabel="Number of Classrooms / Population", main_dimension = "Total Classrooms", sub_dimension=classroom_condition)
return render_template('classrooms.html', classrooms_summary=classrooms_summary, trend_classrooms=trend_classrooms, distribution_classroom_by_condition=distribution_classroom_by_condition, classroom_condition_summary=classroom_condition_summary, classroom_condition=classroom_condition)
# routes for facilities.html
facilities_summary = {}
trend_school_facilities = ''
distribution_school_facility = ''
school_facility_summary = {}
school_facility = ''
@app.route('/facilities.html')
def facilities():
global facilities_summary, trend_school_facilities, distribution_school_facility, school_facility_summary, school_facility
school_facility = 'Schools with Drinking Water'
distribution_school_facility = "img/distribution_school_facility_drinking_water_{}.jpeg".format(latest_year)
school_facility_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_school_facility), final_df, latest_year, ylabel="Number of Schools / Population", main_dimension = "School Facilities", sub_dimension=school_facility)
trend_school_facilities = "img/trend_school_facilities_{}.jpeg".format(default_state_code)
total_schools_for_facilities(os.path.join(app.config['UPLOAD_FOLDER'], trend_school_facilities), final_df, default_state_code)
facilities_summary = get_dimension_wise_summary(final_df, default_state_code, "School Facilities")
return render_template('facilities.html', facilities_summary=facilities_summary, trend_school_facilities=trend_school_facilities, distribution_school_facility=distribution_school_facility, school_facility_summary=school_facility_summary, school_facility=school_facility)
@app.route('/get_trend_for_schools_with_facilities', methods=['POST'])
def get_trend_for_schools_with_facilities():
global facilities_summary, form_value_to_main_dimension_mapping, trend_school_facilities, distribution_school_facility, school_facility_summary, school_facility
......
default_state_code = 27 # for Maharashtra
fig_size_ds_w, fig_size_ds_h = 10, 6 # width and height of distribution graphs
fig_size_tr_w, fig_size_tr_h = 8, 6 # width and height of trend graphs
form_value_to_sub_dimension_mapping = {
'govt':'Government',
'private':'Private',
......
......@@ -8,9 +8,10 @@ import matplotlib.pyplot as plt
from babel.numbers import format_number
# dict_summary={"top3":[],"bottom3":[]}
fig_size_ds_w, fig_size_ds_h = 10, 6
fig_size_tr_w, fig_size_tr_h = 8, 6
fig_size_ds_w, fig_size_ds_h = 10, 6 # width and height of distribution graphs
fig_size_tr_w, fig_size_tr_h = 8, 6 # width and height of trend graphs
# to read all raw data csv files
def read_all_csv(path='./rawdata_csv/', extension='csv'):
result = glob.glob(path+'SRC_R*.{}'.format(extension))
df=None
......@@ -30,6 +31,7 @@ def read_all_csv(path='./rawdata_csv/', extension='csv'):
return final_df
# to plot statewise distribution graphs
def statewise_distribution(output_filename, input_df, year, ylabel, main_dimension, sub_dimension=''):
dict_summary={"top3":[],"bottom3":[]}
if sub_dimension:
......@@ -65,6 +67,7 @@ def statewise_distribution(output_filename, input_df, year, ylabel, main_dimensi
return dict_summary
# to plot trend graph for enrolments
def total_enrolment_by_category(output_filename, input_df, main_dimension, state_code, ylabel):
fig = plt.figure(figsize=(fig_size_tr_w,fig_size_tr_h))
df_fil = input_df.loc[input_df['Main_Dimension'] == main_dimension]
......@@ -97,6 +100,7 @@ def total_enrolment_by_category(output_filename, input_df, main_dimension, state
plt.savefig(output_filename)
plt.close(fig)
# to plot trend graph for teachers
def total_teachers_by_main_dimension(output_filename, input_df, main_dimension, state_code):
fig = plt.figure(figsize=(fig_size_tr_w,fig_size_tr_h))
df_fil = input_df.loc[input_df['Main_Dimension'] == main_dimension]
......@@ -155,6 +159,7 @@ def total_teachers_by_main_dimension(output_filename, input_df, main_dimension,
plt.savefig(output_filename)
plt.close(fig)
# to plot trend graph for classrooms
def total_classrooms_by_trend(output_filename, input_df, state_code):
fig = plt.figure(figsize=(fig_size_tr_w,fig_size_tr_h))
df_fil=input_df.loc[input_df['Main_Dimension'] == "Total Classrooms"]
......@@ -186,6 +191,7 @@ def total_classrooms_by_trend(output_filename, input_df, state_code):
plt.savefig(output_filename)
plt.close(fig)
# to plot trend graph for facilities
def total_schools_for_facilities(output_filename, input_df, state_code):
fig = plt.figure(figsize=(fig_size_tr_w,fig_size_tr_h))
df_fil=input_df.loc[input_df['Main_Dimension'] == "School Facilities"]
......@@ -229,6 +235,7 @@ def total_schools_for_facilities(output_filename, input_df, state_code):
plt.savefig(output_filename)
plt.close(fig)
# to plot trend graph by main_dimension for index page
def main_dimension_overall(output_filename, input_df, main_dimension, ylabel):
fig = plt.figure(figsize=(fig_size_tr_w,fig_size_tr_h))
df_fil=input_df.loc[input_df['Main_Dimension'] == main_dimension]
......@@ -255,13 +262,13 @@ def main_dimension_overall(output_filename, input_df, main_dimension, ylabel):
df_major_repair = df_sum.loc[(df_sum['Sub_Dimension'] == "Need Major Repair")]
plt.plot(df_good_cond['Year'],df_good_cond['total'],marker='o',color='r', label='Good Condition')
for x, y in zip(df_good_cond['Year'],df_good_cond['total']):
plt.text(x = x, y = y, s = '{:.0f}'.format(y))
plt.text(x = x, y = y, s = '{:.0f}'.format(y), color='r', rotation=15, fontsize=7, weight='bold')
plt.plot(df_minor_repair['Year'],df_minor_repair['total'],marker='+',color='g', label='Need Minor Repair')
for x, y in zip(df_minor_repair['Year'],df_minor_repair['total']):
plt.text(x = x, y = y, s = '{:.0f}'.format(y))
plt.text(x = x, y = y, s = '{:.0f}'.format(y), color='g', rotation=15, fontsize=7, weight='bold')
plt.plot(df_major_repair['Year'],df_major_repair['total'],marker='*',color='b', label='Need Major Repair')
for x, y in zip(df_major_repair['Year'],df_major_repair['total']):
plt.text(x = x, y = y, s = '{:.0f}'.format(y))
plt.text(x = x, y = y, s = '{:.0f}'.format(y), color='b', rotation=15, fontsize=7, weight='bold')
plt.legend()
plt.title(label='KPI: ' + ylabel, fontweight='bold', fontsize=10, fontstyle='italic')
......@@ -271,6 +278,7 @@ def main_dimension_overall(output_filename, input_df, main_dimension, ylabel):
plt.savefig(output_filename)
plt.close(fig)
# to plot trend graph by school facilities for index page
def total_schools_for_facilities_overall(output_filename, input_df):
fig = plt.figure(figsize=(fig_size_tr_w,fig_size_tr_h))
df_fil=input_df.loc[input_df['Main_Dimension'] == "School Facilities"]
......@@ -312,6 +320,7 @@ def total_schools_for_facilities_overall(output_filename, input_df):
plt.savefig(output_filename)
plt.close(fig)
# to get overall card values for index page
def get_index_summary(input_df):
latest_year = max(input_df['Year'])
students = sum(input_df[(input_df['Main_Dimension']=='Elementary Enrolment by School Category') & (input_df['Year']==latest_year)]['total'])
......@@ -325,6 +334,7 @@ def get_index_summary(input_df):
'classrooms': format_number(int(classrooms), locale='en_IN')
}
# to get dimension wise card values for details page
def get_dimension_wise_summary(input_df, state_code, main_dimension):
latest_year = max(input_df['Year'])
df_fil = input_df[(input_df['State_Code']==state_code) & (input_df['Year']==latest_year)]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment