Skip to content

Commit

Permalink
[skip ci] Update latest
Browse files Browse the repository at this point in the history
  • Loading branch information
Azure Pipelines committed Feb 6, 2024
1 parent 6f0d927 commit 6194ac4
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions latest/_modules/mpas_analysis/shared/plot/climatology_map.html
Original file line number Diff line number Diff line change
Expand Up @@ -647,16 +647,20 @@ <h1>Source code for mpas_analysis.shared.plot.climatology_map</h1><div class="hi
<span class="c1"># Authors</span>
<span class="c1"># -------</span>
<span class="c1"># Xylar Asay-Davis</span>
<span class="k">def</span> <span class="nf">add_arrow_to_line_2d</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="n">path</span><span class="p">,</span> <span class="n">arrow_spacing</span><span class="o">=</span><span class="mf">8e5</span><span class="p">,</span> <span class="n">arrow_width</span><span class="o">=</span><span class="mf">1.5e4</span><span class="p">):</span>

<span class="k">def</span> <span class="nf">add_arrow_to_line_2d</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="n">poly</span><span class="p">,</span> <span class="n">arrow_spacing</span><span class="o">=</span><span class="mf">8e5</span><span class="p">,</span> <span class="n">arrow_width</span><span class="o">=</span><span class="mf">1.5e4</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> https://stackoverflow.com/a/27637925/7728169</span>
<span class="sd"> Add arrows to a matplotlib.lines.Line2D at selected locations.</span>

<span class="sd"> Polygons instead of paths, following</span>
<span class="sd"> https://gis.stackexchange.com/a/246861/143986</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">v</span> <span class="o">=</span> <span class="n">path</span><span class="o">.</span><span class="n">vertices</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">v</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">]</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">v</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">]</span>
<span class="n">x</span> <span class="o">=</span> <span class="n">poly</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">]</span>
<span class="n">y</span> <span class="o">=</span> <span class="n">poly</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">]</span>
<span class="n">arrows</span> <span class="o">=</span> <span class="p">[]</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">))</span>
<span class="n">delta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span> <span class="o">+</span> <span class="n">np</span><span class="o">.</span><span class="n">diff</span><span class="p">(</span><span class="n">y</span><span class="p">)</span> <span class="o">**</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">cumsum</span><span class="p">(</span><span class="n">delta</span><span class="p">)</span>
<span class="n">indices</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">searchsorted</span><span class="p">(</span>
<span class="n">s</span><span class="p">,</span> <span class="n">arrow_spacing</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="nb">int</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">/</span><span class="n">arrow_spacing</span><span class="p">)))</span>
<span class="k">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">indices</span><span class="p">:</span>
Expand Down Expand Up @@ -715,7 +719,8 @@ <h1>Source code for mpas_analysis.shared.plot.climatology_map</h1><div class="hi
<span class="k">if</span> <span class="n">arrows</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">for</span> <span class="n">collection</span> <span class="ow">in</span> <span class="n">cs</span><span class="o">.</span><span class="n">collections</span><span class="p">:</span>
<span class="k">for</span> <span class="n">path</span> <span class="ow">in</span> <span class="n">collection</span><span class="o">.</span><span class="n">get_paths</span><span class="p">():</span>
<span class="n">add_arrow_to_line_2d</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="n">path</span><span class="p">)</span>
<span class="k">for</span> <span class="n">poly</span> <span class="ow">in</span> <span class="n">path</span><span class="o">.</span><span class="n">to_polygons</span><span class="p">():</span>
<span class="n">add_arrow_to_line_2d</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="n">poly</span><span class="p">)</span>
<span class="c1"># create an axes on the right side of ax. The width of cax will be 5%</span>
<span class="c1"># of ax and the padding between cax and ax will be fixed at 0.05 inch.</span>
<span class="n">divider</span> <span class="o">=</span> <span class="n">make_axes_locatable</span><span class="p">(</span><span class="n">ax</span><span class="p">)</span>
Expand Down

0 comments on commit 6194ac4

Please sign in to comment.