Skip to content

Commit 950a969

Browse files
committed
deploy: 77f511e
1 parent 119986f commit 950a969

File tree

6 files changed

+101
-8
lines changed

6 files changed

+101
-8
lines changed

_modules/ete4/smartview/faces.html

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ <h1>Source code for ete4.smartview.faces</h1><div class="highlight"><pre>
6262
<span class="kn">from</span><span class="w"> </span><span class="nn">.</span><span class="w"> </span><span class="kn">import</span> <span class="n">graphics</span> <span class="k">as</span> <span class="n">gr</span>
6363

6464

65+
<span class="c1"># Default anchors. The x, y go between -1 to +1, with 0 the center.</span>
6566
<span class="n">default_anchors</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;top&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="c1"># left, bottom</span>
6667
<span class="s1">&#39;bottom&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">),</span> <span class="c1"># left, top</span>
6768
<span class="s1">&#39;right&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="c1"># left, middle</span>
6869
<span class="s1">&#39;left&#39;</span><span class="p">:</span> <span class="p">(</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="c1"># right, middle</span>
6970
<span class="s1">&#39;aligned&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="c1"># left, middle</span>
70-
<span class="s1">&#39;header&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">),</span> <span class="c1"># left, bottom</span>
71-
<span class="s1">&#39;footer&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)}</span> <span class="c1"># (unused for the moment)</span>
71+
<span class="s1">&#39;header&#39;</span><span class="p">:</span> <span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)}</span> <span class="c1"># left, bottom</span>
7272

7373

7474
<div class="viewcode-block" id="Face">
@@ -355,7 +355,7 @@ <h1>Source code for ete4.smartview.faces</h1><div class="highlight"><pre>
355355
<span class="n">zx</span><span class="p">,</span> <span class="n">zy</span> <span class="o">=</span> <span class="n">zoom</span>
356356

357357
<span class="c1"># Find the circle radius (cr) in pixels.</span>
358-
<span class="k">assert</span> <span class="n">dx</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">rmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
358+
<span class="k">assert</span> <span class="n">dx</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">rmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;rmax needed&#39;</span>
359359
<span class="n">cr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">rmax</span>
360360
<span class="k">if</span> <span class="n">dx</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
361361
<span class="n">cr_x</span> <span class="o">=</span> <span class="n">zx</span> <span class="o">*</span> <span class="n">dx</span> <span class="o">/</span> <span class="mi">2</span>
@@ -397,7 +397,7 @@ <h1>Source code for ete4.smartview.faces</h1><div class="highlight"><pre>
397397
<span class="n">zx</span><span class="p">,</span> <span class="n">zy</span> <span class="o">=</span> <span class="n">zoom</span>
398398

399399
<span class="c1"># Find the (approx.) radius (cr) of circumscribing circle in pixels.</span>
400-
<span class="k">assert</span> <span class="n">dx</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">rmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
400+
<span class="k">assert</span> <span class="n">dx</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">rmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;rmax needed&#39;</span>
401401
<span class="n">cr</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">rmax</span>
402402
<span class="k">if</span> <span class="n">dx</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
403403
<span class="n">cr_x</span> <span class="o">=</span> <span class="n">zx</span> <span class="o">*</span> <span class="n">dx</span> <span class="o">/</span> <span class="mi">2</span>
@@ -565,7 +565,7 @@ <h1>Source code for ete4.smartview.faces</h1><div class="highlight"><pre>
565565
<span class="k">if</span> <span class="n">dx</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># no limit on dx? make it as big as possible</span>
566566
<span class="n">dx</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">poswidth</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">seq</span><span class="p">)</span> <span class="o">/</span> <span class="n">zx</span>
567567

568-
<span class="k">assert</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
568+
<span class="k">assert</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;hmax needed&#39;</span>
569569
<span class="k">if</span> <span class="n">dy</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># no limit on y? there better be hmax then</span>
570570
<span class="n">dy</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="o">/</span> <span class="n">zy</span>
571571
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> <span class="c1"># if dy &gt; 0, but hmax defined, take the min</span>
@@ -609,7 +609,7 @@ <h1>Source code for ete4.smartview.faces</h1><div class="highlight"><pre>
609609
<span class="k">if</span> <span class="n">dx</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># no limit on dx? make it as big as possible</span>
610610
<span class="n">dx</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">poswidth</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">values</span><span class="p">)</span> <span class="o">/</span> <span class="n">zx</span>
611611

612-
<span class="k">assert</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span>
612+
<span class="k">assert</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;hmax needed&#39;</span>
613613
<span class="k">if</span> <span class="n">dy</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># no limit on y? there better be hmax then</span>
614614
<span class="n">dy</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="o">/</span> <span class="n">zy</span>
615615
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> <span class="c1"># if dy &gt; 0, but hmax defined, take the min</span>
@@ -625,6 +625,51 @@ <h1>Source code for ete4.smartview.faces</h1><div class="highlight"><pre>
625625

626626

627627

628+
<div class="viewcode-block" id="TextArrayFace">
629+
<a class="viewcode-back" href="../../../reference/reference_smartview.html#ete4.smartview.faces.TextArrayFace">[docs]</a>
630+
<span class="k">class</span><span class="w"> </span><span class="nc">TextArrayFace</span><span class="p">(</span><span class="n">Face</span><span class="p">):</span>
631+
<span class="w"> </span><span class="sd">&quot;&quot;&quot;An array of texts.&quot;&quot;&quot;</span>
632+
633+
<div class="viewcode-block" id="TextArrayFace.__init__">
634+
<a class="viewcode-back" href="../../../reference/reference_smartview.html#ete4.smartview.faces.TextArrayFace.__init__">[docs]</a>
635+
<span class="k">def</span><span class="w"> </span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">texts</span><span class="p">,</span> <span class="n">fs_max</span><span class="o">=</span><span class="mi">16</span><span class="p">,</span> <span class="n">rotation</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
636+
<span class="n">poswidth</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span> <span class="n">hmax</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">,</span>
637+
<span class="n">position</span><span class="o">=</span><span class="s1">&#39;top&#39;</span><span class="p">,</span> <span class="n">column</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="n">anchor</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
638+
<span class="nb">super</span><span class="p">()</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="n">position</span><span class="p">,</span> <span class="n">column</span><span class="p">,</span> <span class="n">anchor</span><span class="p">)</span>
639+
640+
<span class="bp">self</span><span class="o">.</span><span class="n">texts</span> <span class="o">=</span> <span class="n">texts</span>
641+
<span class="bp">self</span><span class="o">.</span><span class="n">fs_max</span> <span class="o">=</span> <span class="n">fs_max</span>
642+
<span class="bp">self</span><span class="o">.</span><span class="n">rotation</span> <span class="o">=</span> <span class="n">rotation</span>
643+
<span class="bp">self</span><span class="o">.</span><span class="n">poswidth</span> <span class="o">=</span> <span class="n">poswidth</span> <span class="c1"># width in pixels of each position</span>
644+
<span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="o">=</span> <span class="n">hmax</span> <span class="c1"># maximum height in pixels</span>
645+
<span class="bp">self</span><span class="o">.</span><span class="n">style</span> <span class="o">=</span> <span class="n">style</span></div>
646+
647+
648+
<div class="viewcode-block" id="TextArrayFace.draw">
649+
<a class="viewcode-back" href="../../../reference/reference_smartview.html#ete4.smartview.faces.TextArrayFace.draw">[docs]</a>
650+
<span class="k">def</span><span class="w"> </span><span class="nf">draw</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">nodes</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">collapsed</span><span class="p">,</span> <span class="n">zoom</span><span class="p">,</span> <span class="n">ax_ay</span><span class="p">,</span> <span class="n">r</span><span class="p">):</span>
651+
<span class="n">dx</span><span class="p">,</span> <span class="n">dy</span> <span class="o">=</span> <span class="n">size</span>
652+
<span class="n">zx</span><span class="p">,</span> <span class="n">zy</span> <span class="o">=</span> <span class="n">zoom</span>
653+
654+
<span class="k">if</span> <span class="n">dx</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># no limit on dx? make it as big as possible</span>
655+
<span class="n">dx</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">poswidth</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">texts</span><span class="p">)</span> <span class="o">/</span> <span class="n">zx</span>
656+
657+
<span class="k">assert</span> <span class="n">dy</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">,</span> <span class="s1">&#39;hmax needed&#39;</span>
658+
<span class="k">if</span> <span class="n">dy</span> <span class="o">&lt;=</span> <span class="mi">0</span><span class="p">:</span> <span class="c1"># no limit on y? there better be hmax then</span>
659+
<span class="n">dy</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="o">/</span> <span class="n">zy</span>
660+
<span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span> <span class="c1"># if dy &gt; 0, but hmax defined, take the min</span>
661+
<span class="n">dy</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">dy</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">hmax</span> <span class="o">/</span> <span class="n">zy</span><span class="p">)</span> <span class="c1"># make dy so pixel height &lt; hmax</span>
662+
663+
<span class="n">size</span> <span class="o">=</span> <span class="n">Size</span><span class="p">(</span><span class="n">dx</span><span class="p">,</span> <span class="n">dy</span><span class="p">)</span>
664+
<span class="n">box</span> <span class="o">=</span> <span class="n">make_box</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">size</span><span class="p">)</span>
665+
<span class="n">graphics</span> <span class="o">=</span> <span class="p">[</span><span class="n">gr</span><span class="o">.</span><span class="n">draw_textarray</span><span class="p">(</span><span class="n">box</span><span class="p">,</span> <span class="n">ax_ay</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">texts</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">fs_max</span><span class="p">,</span>
666+
<span class="bp">self</span><span class="o">.</span><span class="n">rotation</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">style</span><span class="p">)]</span>
667+
668+
<span class="k">return</span> <span class="n">graphics</span><span class="p">,</span> <span class="n">size</span></div>
669+
</div>
670+
671+
672+
628673
<div class="viewcode-block" id="LegendFace">
629674
<a class="viewcode-back" href="../../../reference/reference_smartview.html#ete4.smartview.faces.LegendFace">[docs]</a>
630675
<span class="k">class</span><span class="w"> </span><span class="nc">LegendFace</span><span class="p">(</span><span class="n">Face</span><span class="p">):</span>

0 commit comments

Comments
 (0)