Пример #1
0
def loan_mapping(map_rendered=False):
    mform = map_form(request.form)
    if request.method == 'POST' and mform.validate(
    ):  #if user is posting, get form data and store it
        map_rendered = True
        # compute desired group-by/agg operation
        data = LCH.compute_group_avgs(LD,
                                      mform.data['col_name'],
                                      mform.data['grouping_var'],
                                      mform.data['agg_fun'],
                                      state_fips_dict=state_fips_dict,
                                      min_counts=50)
        data.name = mform.data['col_name']
        if mform.data['agg_fun'] == 'count':
            data.name = 'counts'
        # paint base map by county
        pal = LCH.paint_map(data,
                            app.base_map,
                            app.county_paths,
                            fips_to_zip,
                            color='cube',
                            name_legend_map=name_legend_map,
                            agg_fun=mform.data['agg_fun'])
        # save colorbar for map as a png
        plt.savefig(fig_dir + 'map_cbar.png', dpi=500, format='png')
        plt.close()

    return render_template('loan_mapping.html',
                           map_form=mform,
                           svg=Markup(str(app.base_map)),
                           rnum=np.random.randint(0, 100000),
                           map_rendered=map_rendered)
Пример #2
0
def loan_mapping(map_rendered=False):
    mform = map_form(request.form)    
    if request.method == 'POST' and mform.validate():  #if user is posting, get form data and store it           
         map_rendered = True       
         # compute desired group-by/agg operation  
         data = LCH.compute_group_avgs(LD, mform.data['col_name'], 
                                       mform.data['grouping_var'], 
                                       mform.data['agg_fun'],
                                       state_fips_dict=state_fips_dict, 
                                       min_counts=50)
         data.name = mform.data['col_name']
         if mform.data['agg_fun'] == 'count':
             data.name = 'counts'
         # paint base map by county
         pal = LCH.paint_map(data, app.base_map, app.county_paths, fips_to_zip, 
                             color='cube', name_legend_map=name_legend_map,
                             agg_fun=mform.data['agg_fun'])        
         # save colorbar for map as a png
         plt.savefig(fig_dir + 'map_cbar.png', dpi=500, format='png')
         plt.close()
         
    return render_template('loan_mapping.html', map_form=mform, svg=Markup(str(app.base_map)),
                rnum=np.random.randint(0,100000), map_rendered=map_rendered) 
Пример #3
0
    clf.fit(X, y)
    pred_arr[:,n] = clf.predict(fips_data[['longitude','latitude']].values)
    
#%% generate pngs for reg-tree at each depth value
image_list_path = os.path.join(movie_dir,'image_list.txt')
F = open(image_list_path,'wb+')
pred_prc = scipy.percentile(pred_arr,[10, 90]) 
prc_range = pred_prc[1]-pred_prc[0]  # overall range of data

# MAKE COLORBAR FIGURE WITH FIXED RANGE
temp = pred_arr[:,-1].copy()
cur_range = scipy.percentile(temp,[10,90])  # range for this map
temp  = (temp - cur_range[0])*prc_range/np.diff(cur_range) + pred_prc[0]  # scale to have same range
fips_data['preds'] = temp
new_data = LCH.fill_missing_fips(ktree,map_coords,fips_data)
cbar_fig = LCH.paint_map(new_data['preds'], base_map, county_paths, fips_to_zip, color = 'cube', get_cbar=True)  
plt.savefig(movie_dir + 'tree_cbar.png', dpi=500, format='png')
plt.close()

for n in xrange(max_levels):
    cur_range = scipy.percentile(pred_arr[:,n],[10,90])  # range for this map
    pred_arr[:,n]  = (pred_arr[:,n] - cur_range[0])*prc_range/np.diff(cur_range)  # scale to have same range
    fips_data['preds'] = pred_arr[:,n]
    new_data = LCH.fill_missing_fips(ktree,map_coords,fips_data)
    LCH.paint_map(new_data['preds'], base_map, county_paths, fips_to_zip, color = 'cube', get_cbar=False)        
    title_path.string = 'Depth {} Tree'.format(n)
    bytestring = base_map.encode()
    out_file = os.path.join(movie_dir,'tree_depth%d.png' % n)
    cairosvg.svg2png(bytestring=bytestring, write_to = out_file)
    F.write(out_file + '\n')