Skip to content

Commit

Permalink
Comparison - ASO - Add violin plots for 2020
Browse files Browse the repository at this point in the history
  • Loading branch information
jomey committed Oct 6, 2022
1 parent 5390300 commit c292210
Showing 1 changed file with 101 additions and 1 deletion.
102 changes: 101 additions & 1 deletion comparison/CBRFC/CBRFC-zones-ASO-diff.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,13 @@
" print(f\" Second: {second}\")\n",
" single_stat(data[5])\n",
" \n",
"def plot_differences_mpl(axes, first, second):\n",
" print(\"All\")\n",
" print(f\" First: {first}\")\n",
" single_stat(data[6])\n",
" print(f\" Second: {second}\")\n",
" single_stat(data[7])\n",
" \n",
"def plot_differences_mpl(axes, first, second=None):\n",
" first_data = RasterFile(\n",
" (ASO_DIR / f'Depth_difference_{first}_50m.tif').as_posix()\n",
" ).band_values()\n",
Expand Down Expand Up @@ -326,6 +332,100 @@
"plot_differences_mpl(ax2, '20190407', '20190610')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6d57ad6c-c18e-469e-8381-de6a44ee5d84",
"metadata": {},
"outputs": [],
"source": [
"fig = plt.figure(figsize=(5.5,3.5), dpi=300)\n",
"ax1 = fig.gca()\n",
"\n",
"raster_data = RasterFile(\n",
" (ASO_DIR / f'Depth_difference_20200214_50m.tif').as_posix()\n",
").band_values()\n",
"raster_data[np.isnan(raster_data)] = np.ma.masked\n",
"\n",
"# Filter difference above 12m and below -12m\n",
"raster_data[raster_data > 12] = np.ma.masked\n",
"raster_data[raster_data < -12] = np.ma.masked\n",
"\n",
"violin_position = np.arange(0.5, 2.5, 0.5)\n",
"data = [\n",
" raster_data[zone_data == ALEC2HLF].compressed(),\n",
" raster_data[zone_data == ALEC2HMF].compressed(),\n",
" raster_data[zone_data == ALEC2HUF].compressed(),\n",
" raster_data.compressed(),\n",
"]\n",
"\n",
"vp = ax1.violinplot(\n",
" data,\n",
" positions=violin_position,\n",
" widths=0.4,\n",
" showmeans=False,\n",
" showmedians=True,\n",
" showextrema=False,\n",
" quantiles=[\n",
" [0.05, 0.95],\n",
" [0.05, 0.95],\n",
" [0.05, 0.95],\n",
" [0.05, 0.95],\n",
" ],\n",
")\n",
"\n",
"color = ['gold', 'teal', 'indigo', 'brown']\n",
"ci = 0\n",
"for pc in vp['bodies']:\n",
" pc.set_facecolor(color[ci])\n",
" pc.set_edgecolor('Black')\n",
" pc.set_lw(0.75)\n",
" ci += 1\n",
"\n",
"for line in ['cquantiles', 'cmedians']:\n",
" vp[line].set_color('black')\n",
" vp[line].set_lw(0.75)\n",
"\n",
"vp['cmedians'].set_ls(':')\n",
"vp['cmedians'].set_lw(1)\n",
"\n",
"ax1.set_xticks(\n",
" violin_position, \n",
" labels=['Lower', 'Middle', 'Upper', 'All']\n",
")\n",
"ax1.set_xlabel('HRU')\n",
"set_ticks(ax1)\n",
"\n",
"ax1.legend(\n",
" handles=[\n",
" Line2D([0], [0], color='black', linestyle=':', label='Median'),\n",
" Line2D([0], [0], color='black', label='Quantiles (95%, 5%)')\n",
" ],\n",
" loc='upper right',\n",
" fontsize=8,\n",
" frameon=False,\n",
" bbox_to_anchor=(1.05, 1.15),\n",
")\n",
"model_axes(ax1, 1.03)\n",
"set_ticks(ax1, True)\n",
"\n",
"ax1.set_ylim(top=2, bottom=-7)\n",
"ax1.set_yticks(np.arange(-6, 3, 2))\n",
"\n",
"zero_line(ax1)\n",
"# ax1.annotate(figure_label, xy=(0.02, 0.93 ), xycoords='axes fraction', fontsize=14)\n",
"ax1.set_title(datetime.strptime('20200214', '%Y%m%d').strftime('%Y-%m-%d'), size=12);\n",
"\n",
"print(\"HLF\")\n",
"single_stat(data[0])\n",
"print(\"HMF\")\n",
"single_stat(data[1])\n",
"print(\"HUF\")\n",
"single_stat(data[2])\n",
"print(\"All\")\n",
"single_stat(data[3])"
]
},
{
"cell_type": "code",
"execution_count": null,
Expand Down

0 comments on commit c292210

Please sign in to comment.