def test_scatterlog(self): sim_array = self.merged_df.iloc[:, 0].values obs_array = self.merged_df.iloc[:, 1].values # Creating test image array hv.scatter(sim_array=sim_array, obs_array=obs_array, grid=True, title='Scatter Plot (Log-Log Scale)', labels=('SFPT', 'GLOFAS'), line45=True, metrics=['ME', 'KGE (2012)'], log_scale=True) buf = BytesIO() plt.savefig(buf, format='png') buf.seek(0) img_test = mpimg.imread(buf) buf.close() # Reading original image img_original = mpimg.imread( os.path.join(os.getcwd(), 'baseline_images', 'plot_tests', 'scatterlog.png')) # Comparing the images self.assertTrue(np.all(np.isclose(img_test, img_original)))
def test_scatter(self): # Creating test image array hv.scatter(merged_data_df=self.merged_df, grid=True, title='Scatter Plot (Normal Scale)', labels=('SFPT', 'GLOFAS'), best_fit=True) buf = BytesIO() plt.savefig(buf, format='png') buf.seek(0) img_test = mpimg.imread(buf) buf.close() # Reading original image img_original = mpimg.imread(os.path.join(os.getcwd(), 'baseline_images', 'plot_tests', 'scatter.png')) # Comparing the images self.assertTrue(np.all(np.isclose(img_test, img_original)))
hv.plot(merged_df, legend=('Simulated', 'Observed'), grid=True, title='Hydrograph for ' + name + '\n River: ' + rio + '. COMID: ' + str(comid), labels=['Datetime', 'Volume (BCM)'], linestyles=['b-', 'r-'], fig_size=(15, 9)) plt.savefig( path.join(plot_out_dir, '{0}_{1}_hydrographs.png'.format(str(comid), name))) hv.scatter(merged_data_df=merged_df, grid=True, title='Scatter Plot for ' + name + '\n River: ' + rio + '. COMID: ' + str(comid), labels=('Simulated', 'Observed'), line45=True, best_fit=True, figsize=(15, 9)) plt.savefig( path.join(scatter_out_dir, '{0}_{1}_scatter_plot.png'.format(str(comid), name))) hv.scatter(sim_array=sim_array, obs_array=obs_array, grid=True, title='Scatter Plot (Log Scale) for ' + name + '\n River: ' + rio + '. COMID: ' + str(comid), labels=('Simulated', 'Observed'), line45=True, best_fit=True,
labels=['Datetime', 'Streamflow (m$^3$/s)'], linestyles=['b-', 'r-'], fig_size=(15, 9), ebars=monthly_std_error, ecolor=('b', 'r'), tight_xlim=False) #plt.savefig(path.join(monthly_average_out_dir, '{0}_{1}_monthly_average.png'.format(str(id), name))) plt.savefig( path.join(monthly_average_out_dir, '{0}_{1}_monthly_average.png'.format(str(comid), name))) hv.scatter( merged_data_df=merged_df, grid=True, #title='Scatter Plot for ' + str(id) + ' - ' + name + '\n River: ' + rio + '. COMID: ' + str(comid), title='Scatter Plot for ' + name + '\n River: ' + rio + '. COMID: ' + str(comid), labels=('ERA-Interim', 'ERA-5'), line45=True, best_fit=True, figsize=(15, 9)) #plt.savefig(path.join(scatter_out_dir, '{0}_{1}_scatter_plot.png'.format(str(id), name))) plt.savefig( path.join(scatter_out_dir, '{0}_{1}_scatter_plot.png'.format(str(comid), name))) hv.scatter( sim_array=sim_array, obs_array=obs_array, grid=True, #title='Scatter Plot (Log Scale) for ' + str(id) + ' - ' + name + '\n River: ' + rio + '. COMID: ' + str( # comid),
# This list specifies which metrics to use: metrics = [] # This list controls the axis labels: labels = ['Datetime', 'Streamflow (cms)'] # End of Dynamic Input. Do NOT Change the following ------------------------------------------- # Create a list of 18 stream modified Time Series list_riv_part_era5 = [] for riv in list_riv_mouth_era5: riv_part_era5 = riv.loc[begin_date:end_date] list_riv_part_era5.append(riv_part_era5) for s, o, t, s1, s2 in zip(list_sim, list_obs, range(18), series1, series2): merged_df = hd.merge_data(sim_df=list_riv_part_era5[s], obs_df=list_riv_part_era5[o]) filename = year + ' (ERA-5): ' + list_titles[t] hv.scatter(merged_data_df=merged_df, title=filename, labels=(s1, s2), metrics=metrics, marker_style=".", grid=True, log_scale=False, line45=True) plt.tight_layout() plt.savefig( '/home/chrisedwards/Documents/rapid_output/graphs/{}.png'.format( filename))
'ID: Sim (Outlet) vs Obs (gauge-13340600)', 'MO: Sim (Outlet) vs Obs (gauge-07014500)', 'NY: Sim (Outlet) vs Obs (gauge-01413500)', 'OR: Sim (Outlet) vs Obs (gauge-14306500)', 'AZ: Sim (str-60) vs Obs (gauge-09492400)', 'MO: Sim (str-50) vs Obs (gauge-07013000)', 'MO: Sim (str-51) vs Obs (gauge-07014000)', 'NY: Sim (str-47) vs Obs (gauge-01413408)', 'NY: Sim (str-46) vs Obs (gauge-01413398)', 'OR: Sim (str-58) vs Obs (gauge-14306400)', 'OR: Sim (str-47) vs Obs (gauge-14306100)' ] metrics = [] for s, o, t in zip(range(12), range(12), range(12)): merged_df = hd.merge_data(sim_df=list_sim_df[s], obs_df=list_obs_df[o]) da_df = hd.daily_average(merged_df) filename = list_titles[t] + ' Daily Avg Scatter' hv.scatter(merged_data_df=da_df, title=filename, labels=('Sim (cms)', 'Obs (cms)'), metrics=metrics, marker_style=".", grid=True, log_scale=False, line45=True) plt.tight_layout() plt.savefig( '/home/chrisedwards/Documents/rapid_output/graphs/{}.png'.format( filename))