图形检验产品
<p>[TOC]</p>
<pre><code class="language-python">%matplotlib inline
%load_ext autoreload
%autoreload 2
import meteva.method as mem
import numpy as np</code></pre>
<pre><code>The autoreload extension is already loaded. To reload it, use:
%reload_ext autoreload</code></pre>
<pre><code class="language-python">ob = np.random.randn(2,100)
error = np.random.randn(8,2,100)
fo = error +ob
grade_list = [0.0,0.4,0.8,1.2,1.6,2.0]
fo_name_list = ["ECMWF","NCEP","T639","SCMOC","GRAPES","GRAPES_MESO","GRAPES-3KM","SHANGHAI"]</code></pre>
<h1>综合检验图</h1>
<p><strong><font face="黑体" color=blue size = 5>performance(ob, fo,grade_list=[1e-30],member_list=None,compare =">=",x_y = "sr_pod", save_path=None,show = False,dpi = 300, title="综合表现图",
sup_fontsize =10,width = None,height = None)</font></strong> </p>
<p>绘制二分类预报的综合检验图,其横坐标为成功率,纵坐标为命中率,并绘制了等bias和等ts曲线辅助线,检验结果以圆点方式显示在图中,从而可以直接浏览成功率、命中率、bias和ts等检验指标。 </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=blue size=5>ob</font></strong></td>
<td style="text-align: left;">实况数据, 任意维numpy数组</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=blue size=5>fo</font></strong></td>
<td style="text-align: left;">预测数据, 任意维numpy数组,Fo.shape 比Ob.shape多一维或者保持一致,Fo.shape低维与ob.shape保持一致</td>
</tr>
<tr>
<td style="text-align: left;"><strong>grade_list</strong></td>
<td style="text-align: left;">阈值列表</td>
</tr>
<tr>
<td style="text-align: left;"><strong>member_list</strong></td>
<td style="text-align: left;">各预报成员的名称列表,缺省时系统由自动生成,将在bar图的legend中显示</td>
</tr>
<tr>
<td style="text-align: left;"><strong>compare</strong></td>
<td style="text-align: left;">比较方法,可选项包括">=",">","<=","<", 是要素原始值和阈值对比的方法,默认方法为">=",即原始值大于等于阈值记为1,否则记为0,compare 为"<="时,原始值小于等于阈值的站点记为1, 这在基于能见度标记大雾事件、低温事件或降温事件等场景中可以用到</td>
</tr>
<tr>
<td style="text-align: left;"><strong>x_y</strong></td>
<td style="text-align: left;">xy轴坐标,缺省情况下会以成功率 _ 命中率作为横_纵坐标,当x_y = "far_mr"时坐标会切换成空报率_漏报率</td>
</tr>
<tr>
<td style="text-align: left;"><strong>save_path</strong></td>
<td style="text-align: left;">图片保存路径,缺省时不输出图片,而是以默认绘图窗口形式展示</td>
</tr>
<tr>
<td style="text-align: left;"><strong>show</strong></td>
<td style="text-align: left;">是否在屏幕显示图片,如果save_path 和save_dir 为都None时,程序内部会自动将show设置True</td>
</tr>
<tr>
<td style="text-align: left;"><strong>dpi</strong></td>
<td style="text-align: left;">绘图所采用dpi参数,效果同matplotlib中dpi参数</td>
</tr>
<tr>
<td style="text-align: left;"><strong>title</strong></td>
<td style="text-align: left;">图片标题,缺省时 为“散点回归图”</td>
</tr>
<tr>
<td style="text-align: left;"><strong>sup_fontsize</strong></td>
<td style="text-align: left;">图片标题的字体大小,其它字体将根据标题字体大小自动设置,其中坐标轴字体大小 = sup_fontsize × 0.9, 坐标刻度的字体大小 = sup_fontsize × 0.8</td>
</tr>
<tr>
<td style="text-align: left;"><strong>width</strong></td>
<td style="text-align: left;">图片的宽度,缺省时程序自动设置</td>
</tr>
<tr>
<td style="text-align: left;"><strong>height</strong></td>
<td style="text-align: left;">图片的高度,缺省时程序自动设置</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=blue size=5>return</font></strong></td>
<td style="text-align: left;">无返回结果</td>
</tr>
</tbody>
</table>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">mem.performance(ob,fo[0,:],grade_list = grade_list)</code></pre>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/8a485caae9deeb43e34e4a4314030649?showdoc=.jpg" alt="" /></p>
<pre><code class="language-python">mem.performance(ob,fo,member_list = fo_name_list)</code></pre>
<p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/bc3a2112b565a9bebb1608d1d76a7655?showdoc=.jpg" alt="" /></p>
<pre><code class="language-python">mem.performance(ob,fo,grade_list = grade_list,member_list = fo_name_list,
save_path = r"H:\test_data\output\method\yes_or_no\p3.png",show = True)</code></pre>
<pre><code>检验结果已以图片形式保存至H:\test_data\output\method\yes_or_no\p3.png</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/49ceabb3778e3350919b34161ae898e7?showdoc=.jpg" alt="" /></p>
<pre><code class="language-python">mem.performance(ob,fo,grade_list = grade_list,member_list = fo_name_list,x_y = "far_mr")</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/7b42862420c47de17e96cdf89c913053?showdoc=.jpg" alt="" /></p>
<h1>综合检验图(基于检验结果)</h1>
<p><strong><font face="黑体" color=blue size = 5>performance_mr_far(mr_array, far_array,grade_list=[1e-30], member_list=None, x_y = "sr_pod", save_path=None,show = False,dpi = 300, title="综合表现图",sup_fontsize =10,width = None,height = None)</font></strong><br />
绘制二分类预报的综合检验图,其横坐标为成功率,纵坐标为命中率,并绘制了等bias和等ts曲线辅助线,检验结果以圆点方式显示在图中,从而可以直接浏览成功率、命中率、bias和ts等检验指标。 </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=blue size=5>mr_array</font></strong></td>
<td style="text-align: left;">漏报率, 2维数组,第1维是模式,第2维是等级</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=blue size=5>far_array</font></strong></td>
<td style="text-align: left;">空报率,2维数组,第1维是模式,第2维是等级</td>
</tr>
<tr>
<td style="text-align: left;"><strong>grade_list</strong></td>
<td style="text-align: left;">阈值列表,将在图中显示</td>
</tr>
<tr>
<td style="text-align: left;"><strong>member_list</strong></td>
<td style="text-align: left;">各预报成员的名称列表,缺省时系统由自动生成,将在bar图的legend中显示</td>
</tr>
<tr>
<td style="text-align: left;"><strong>x_y</strong></td>
<td style="text-align: left;">xy轴坐标,缺省情况下会以成功率_命中率作为横_纵坐标,当x_y = "far_mr"时坐标会切换成空报率_漏报率</td>
</tr>
<tr>
<td style="text-align: left;"><strong>save_path</strong></td>
<td style="text-align: left;">图片保存路径,缺省时不输出图片,而是以默认绘图窗口形式展示</td>
</tr>
<tr>
<td style="text-align: left;"><strong>show</strong></td>
<td style="text-align: left;">是否在屏幕显示图片,如果save_path 和save_dir 为都None时,程序内部会自动将show设置True</td>
</tr>
<tr>
<td style="text-align: left;"><strong>dpi</strong></td>
<td style="text-align: left;">绘图所采用dpi参数,效果同matplotlib中dpi参数</td>
</tr>
<tr>
<td style="text-align: left;"><strong>title</strong></td>
<td style="text-align: left;">图片标题,缺省时 为“散点回归图”</td>
</tr>
<tr>
<td style="text-align: left;"><strong>sup_fontsize</strong></td>
<td style="text-align: left;">图片标题的字体大小,其它字体将根据标题字体大小自动设置,其中坐标轴字体大小 = sup_fontsize × 0.9, 坐标刻度的字体大小 = sup_fontsize × 0.8</td>
</tr>
<tr>
<td style="text-align: left;"><strong>width</strong></td>
<td style="text-align: left;">图片的宽度,缺省时程序自动设置</td>
</tr>
<tr>
<td style="text-align: left;"><strong>height</strong></td>
<td style="text-align: left;">图片的高度,缺省时程序自动设置</td>
</tr>
<tr>
<td style="text-align: left;"><strong><font face="黑体" color=blue size=5>return</font></strong></td>
<td style="text-align: left;">无返回结果</td>
</tr>
</tbody>
</table>
<p><strong>调用示例:</strong></p>
<pre><code class="language-python">far_array = mem.far(ob,fo,grade_list)
mr_array = mem.mr(ob,fo,grade_list)
mem.performance_mr_far(mr_array,far_array,grade_list = grade_list,member_list = fo_name_list,x_y = "far_mr",
save_path = r"H:\test_data\output\method\yes_or_no\p3.png",show = True)</code></pre>
<pre><code>检验结果已以图片形式保存至H:\test_data\output\method\yes_or_no\p3.png</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/209ceb56c5e89f45816220ecd2851d4a" alt="" /></p>
<pre><code class="language-python">grade_list = [10,25]
member_list = ["ECMWF","CMA_GFS"]
far_array = np.array([[0.4,0.5],[0.6,0.7]])
mr_array =np.array([[0.2,0.3],[0.4,0.5]])
mem.performance_mr_far(mr_array,far_array,grade_list = grade_list,member_list = member_list,x_y = "far_mr",
save_path = r"H:\test_data\output\method\yes_or_no\p4.png",show = True)</code></pre>
<pre><code>检验结果已以图片形式保存至H:\test_data\output\method\yes_or_no\p4.png</code></pre>
<p><img src="https://www.showdoc.com.cn/server/api/attachment/visitfile/sign/cf950fa9d533da4a06e49127dbb05299" alt="" /></p>