Commit 7ffee017 authored by Manas Gabani's avatar Manas Gabani

Trend routes added for teachers page

parent 18e6a00e
...@@ -62,7 +62,9 @@ form_value_to_main_dimension_mapping = { ...@@ -62,7 +62,9 @@ form_value_to_main_dimension_mapping = {
'rural_elementary_enrolment': 'Rural Elementary Enrolment', 'rural_elementary_enrolment': 'Rural Elementary Enrolment',
'schools_category':'School by Category', 'schools_category':'School by Category',
'schools_rural':'Rural Schools', 'schools_rural':'Rural Schools',
'schools_gender':'School by Gender' 'schools_gender':'School by Gender',
'teachers_by_category': 'Teachers by School Category',
'teachers_by_qualification':'Teachers by Educational Qualification'
} }
default_state_code = 27 # for Maharashtra default_state_code = 27 # for Maharashtra
...@@ -109,14 +111,51 @@ def total_enrolment_by_category(output_filename, input_df, main_dimension, state ...@@ -109,14 +111,51 @@ def total_enrolment_by_category(output_filename, input_df, main_dimension, state
if not 'Rural' in main_dimension: if not 'Rural' in main_dimension:
df_madr=df_sum.loc[(df_sum['Sub_Dimension'] == "Madrasas & Unrecognised")] df_madr=df_sum.loc[(df_sum['Sub_Dimension'] == "Madrasas & Unrecognised")]
plt.plot(df_madr['Year'],df_madr['total'],color='b', label='Madrasas') plt.plot(df_madr['Year'],df_madr['total'],color='b', label='Madrasas')
plt.legend()
plt.legend()
plt.xticks(np.arange(min_year, max_year+1, 1.0)) plt.xticks(np.arange(min_year, max_year+1, 1.0))
plt.ylabel(ylabel) plt.ylabel(ylabel)
plt.xlabel('Year') plt.xlabel('Year')
plt.savefig(output_filename) plt.savefig(output_filename)
plt.close(fig) plt.close(fig)
print('plot success')
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]
df_fil=df_fil.loc[(df_fil['State_Code'] == state_code)]
min_year, max_year = min(df_fil['Year']), max(df_fil['Year'])
df_sum = df_fil.groupby(['Sub_Dimension','State_Code','Year'],as_index = False).sum()
df_sum=df_sum[['Sub_Dimension','State_Code','Year','total']]
if 'Category' in main_dimension:
df_govt=df_sum.loc[(df_sum['Sub_Dimension'] == "Government")]
df_pvt=df_sum.loc[(df_sum['Sub_Dimension'] == "Private")]
df_madr=df_sum.loc[(df_sum['Sub_Dimension'] == "Madrasas & Unrecognised")]
plt.plot(df_govt['Year'],df_govt['total'],color='r', label='Goverment')
plt.plot(df_pvt['Year'],df_pvt['total'],color='g', label='Private')
plt.plot(df_madr['Year'],df_madr['total'],color='b', label='Madrasas')
else:
df_bel_sec=df_sum.loc[(df_sum['Sub_Dimension'] == "Below Secondary")]
df_sec=df_sum.loc[(df_sum['Sub_Dimension'] == "Secondary")]
df_hs=df_sum.loc[(df_sum['Sub_Dimension'] == "Higher Secondary")]
df_grad=df_sum.loc[(df_sum['Sub_Dimension'] == "Graduate")]
df_pg=df_sum.loc[(df_sum['Sub_Dimension'] == "Post Graduate")]
df_phd=df_sum.loc[(df_sum['Sub_Dimension'] == "M.Phil / Ph.D")]
plt.plot(df_bel_sec['Year'],df_bel_sec['total'],color='r', label='Below Secondary')
plt.plot(df_sec['Year'],df_sec['total'],color='g', label='Secondary')
plt.plot(df_hs['Year'],df_hs['total'],color='b', label='Higher Secondary')
plt.plot(df_grad['Year'],df_grad['total'],color='y', label='Graduate')
plt.plot(df_pg['Year'],df_pg['total'],color='c', label='Post Graduate')
plt.plot(df_phd['Year'],df_phd['total'],color='m', label='M.Phil / Ph.D')
plt.legend()
plt.xticks(np.arange(min_year, max_year+1, 1.0))
plt.ylabel('Number of Teachers')
plt.xlabel('Year')
plt.savefig(output_filename)
plt.close(fig)
app = Flask(__name__) app = Flask(__name__)
print(' ------------ Server Started ------------ ') print(' ------------ Server Started ------------ ')
...@@ -186,6 +225,7 @@ def students(): ...@@ -186,6 +225,7 @@ def students():
total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_elementary_enrolment), final_df, main_dimension='Elementary Enrolment by School Category', state_code=default_state_code, ylabel='Enrolments') total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_elementary_enrolment), final_df, main_dimension='Elementary Enrolment by School Category', state_code=default_state_code, ylabel='Enrolments')
return render_template('students.html', 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) return render_template('students.html', 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)
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 = {}
...@@ -194,13 +234,15 @@ teachers_category = '' ...@@ -194,13 +234,15 @@ teachers_category = ''
teachers_qualification = '' teachers_qualification = ''
@app.route('/teachers.html') @app.route('/teachers.html')
def teachers(): def teachers():
global distribution_teachers_by_educational_qualification, distribution_teachers_by_category, teachers_by_category_summary, teachers_by_educational_qualification_summary, teachers_category, teachers_qualification global 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' teachers_category, teachers_qualification = 'Government', 'Below Secondary'
distribution_teachers_by_category = "img/distribution_teachers_by_category_govt_{}.jpeg".format(latest_year) 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, main_dimension = "Teachers by School Category", sub_dimension=teachers_category) teachers_by_category_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_category), final_df, latest_year, 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) 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, main_dimension = "Teachers by Educational Qualification", sub_dimension=teachers_qualification) teachers_by_educational_qualification_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_teachers_by_educational_qualification), final_df, latest_year, main_dimension = "Teachers by Educational Qualification", sub_dimension=teachers_qualification)
return render_template('teachers.html', 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) 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)
return render_template('teachers.html', 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)
trend_schools = '' trend_schools = ''
distribution_schools_by_category = '' distribution_schools_by_category = ''
...@@ -261,7 +303,7 @@ def get_trend_for_elementary_enrolment(): ...@@ -261,7 +303,7 @@ def get_trend_for_elementary_enrolment():
global 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 global 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
main_dimension = form_value_to_main_dimension_mapping[request.form['type']] main_dimension = form_value_to_main_dimension_mapping[request.form['type']]
state_code = int(request.form['state_code']) state_code = int(request.form['state_code'])
trend_elementary_enrolment = "img/trend_elementary_enrolment_{}_{}.jpeg".format(main_dimension,state_code) trend_elementary_enrolment = "img/trend_{}_{}.jpeg".format(request.form['type'],state_code)
total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_elementary_enrolment), final_df, main_dimension, state_code, ylabel='Enrolments') total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_elementary_enrolment), final_df, main_dimension, state_code, ylabel='Enrolments')
return render_template('students.html', 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) return render_template('students.html', 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)
...@@ -283,6 +325,15 @@ def get_distribution_for_rural_enrolment(): ...@@ -283,6 +325,15 @@ 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, main_dimension = "Elementary Enrolment by School Category", sub_dimension=rural_enrolment_category) rural_enrolment_summary = statewise_distribution(os.path.join(app.config['UPLOAD_FOLDER'], distribution_rural_enrolment), final_df, requested_year, main_dimension = "Elementary Enrolment by School Category", sub_dimension=rural_enrolment_category)
return render_template('students.html', 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) return render_template('students.html', 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)
@app.route('/get_trend_for_teachers', methods=['POST'])
def get_trend_for_teachers():
global 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
main_dimension = form_value_to_main_dimension_mapping[request.form['type']]
state_code = int(request.form['state_code'])
trend_teachers="img/trend_{}_{}.jpeg".format(request.form['type'], state_code)
total_teachers_by_main_dimension(os.path.join(app.config['UPLOAD_FOLDER'], trend_teachers), final_df, main_dimension, state_code)
return render_template('teachers.html', 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_distribution_for_teachers_by_category', methods=['POST']) @app.route('/get_distribution_for_teachers_by_category', methods=['POST'])
def get_distribution_for_teachers_by_category(): def get_distribution_for_teachers_by_category():
global distribution_teachers_by_educational_qualification, distribution_teachers_by_category, teachers_by_category_summary, teachers_by_educational_qualification_summary, teachers_category, teachers_qualification global distribution_teachers_by_educational_qualification, distribution_teachers_by_category, teachers_by_category_summary, teachers_by_educational_qualification_summary, teachers_category, teachers_qualification
...@@ -304,10 +355,9 @@ def get_distribution_for_teachers_by_educational_qualification(): ...@@ -304,10 +355,9 @@ def get_distribution_for_teachers_by_educational_qualification():
@app.route('/get_trend_for_schools', methods=['POST']) @app.route('/get_trend_for_schools', methods=['POST'])
def get_trend_for_schools(): def get_trend_for_schools():
global 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 global 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
print(request.form,request.form['type'])
main_dimension = form_value_to_main_dimension_mapping[request.form['type']] main_dimension = form_value_to_main_dimension_mapping[request.form['type']]
state_code = int(request.form['state_code']) state_code = int(request.form['state_code'])
trend_schools = "img/trend_schools_{}_{}.jpeg".format(main_dimension, state_code) trend_schools = "img/trend_{}_{}.jpeg".format(request.form['type'], state_code)
total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_schools), final_df, main_dimension, state_code=default_state_code, ylabel='Number of schools') total_enrolment_by_category(os.path.join(app.config['UPLOAD_FOLDER'], trend_schools), final_df, main_dimension, state_code=default_state_code, ylabel='Number of schools')
return render_template('schools.html', 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) return render_template('schools.html', 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)
......
File added
...@@ -78,30 +78,56 @@ ...@@ -78,30 +78,56 @@
<div class="title"> <div class="title">
Trend by state Trend by state
</div> </div>
<form method="POST" action="/get_trend_from_teachers"> <form method="POST" action="/get_trend_for_teachers">
Select state: Select state:
<select name="state" class="state"> <select name="state_code" class="state_code">
<option value="Maharashtra">Maharashtra</option> <option value="1">JAMMU & KASHMIR</option>
<option value="Gujarat">Gujarat</option> <option value="2">HIMACHAL PRADESH</option>
<option value="Karnataka">Karnataka</option> <option value="3">PUNJAB</option>
<option value="Kerela">Kerela</option> <option value="4">CHANDIGARH</option>
<option value="5">UTTARAKHAND</option>
<option value="6">HARYANA</option>
<option value="7">DELHI</option>
<option value="8">RAJASTHAN</option>
<option value="9">UTTAR PRADESH</option>
<option value="10">BIHAR</option>
<option value="11">SIKKIM</option>
<option value="12">ARUNACHAL PRADESH</option>
<option value="13">NAGALAND</option>
<option value="14">MANIPUR</option>
<option value="15">MIZORAM</option>
<option value="16">TRIPURA</option>
<option value="17">MEGHALAYA</option>
<option value="18">ASSAM</option>
<option value="19">WEST BENGAL</option>
<option value="20">JHARKHAND</option>
<option value="21">ODISHA</option>
<option value="22">CHHATTISGARH</option>
<option value="23">MADHYA PRADESH</option>
<option value="24">GUJARAT</option>
<option value="25">DAMAN & DIU</option>
<option value="26">DADRA & NAGAR HAVELI</option>
<option value="27">MAHARASHTRA</option>
<option value="28">ANDHRA PRADESH</option>
<option value="29">KARNATAKA</option>
<option value="30">GOA</option>
<option value="31">LAKSHADWEEP</option>
<option value="32">KERALA</option>
<option value="33">TAMIL NADU</option>
<option value="34">PUDUCHERRY</option>
<option value="35">ANDAMAN & NICOBAR ISLANDS</option>
<option value="36">TELANGANA</option>
</select> </select>
Select type: Select type:
<select name="type" class="type"> <select name="type" class="type">
<option value="category">By Category</option> <option value="teachers_by_category">By Category</option>
<option value="rural">By Rural Enrolments</option> <option value="teachers_by_qualification">By Educational Qualification</option>
</select> </select>
<input name="get_trend_from_teachers" type="submit" value="Submit"> <input name="get_trend_for_teachers" type="submit" value="Submit">
</form> </form>
{% if trend_from_teachers %}
<div> <div>
<img src="{{ url_for('static', filename=trend_from_teachers) }}"> <img src="{{ url_for('static', filename=trend_teachers) }}">
</div> </div>
{% else %}
<div>
<img src="{{ url_for('static', filename='img/sample_trend_teachers.jpeg') }}">
</div>
{% endif %}
</div> </div>
</div> </div>
<div class="content-2"> <div class="content-2">
......
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