<divid="unreleased-message"> You are reading an old version of the documentation (v3.2.0). For the latest version see <ahref="https://matplotlib.org/stable/gallery/units/artist_tests.html">https://matplotlib.org/stable/gallery/units/artist_tests.html</a></div>
<pclass="last">Click <aclass="reference internal" href="#sphx-glr-download-gallery-units-artist-tests-py"><spanclass="std std-ref">here</span></a> to download the full example code</p>
<spanid="sphx-glr-gallery-units-artist-tests-py"></span><h1>Artist tests<aclass="headerlink" href="#artist-tests" title="Permalink to this headline">¶</a></h1>
<p>Test unit support with each of the Matplotlib primitive artist types.</p>
<p>The axis handles unit conversions and the artists keep a pointer to their axis
parent. You must initialize the artists with the axis instance if you want to
use them with unit data, or else they will not know how to convert the units
<ahref="../../api/_as_gen/matplotlib.figure.Figure.html#matplotlib.figure.Figure" title="View documentation for matplotlib.figure.Figure"><spanclass="n">fig</span></a><spanclass="p">,</span><ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.pyplot.subplots.html#matplotlib.pyplot.subplots" title="View documentation for matplotlib.pyplot.subplots"><spanclass="n">plt</span><spanclass="o">.</span><spanclass="n">subplots</span></a><spanclass="p">()</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">xaxis</span><spanclass="o">.</span><spanclass="n">set_units</span><spanclass="p">(</span><spanclass="n">cm</span><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">yaxis</span><spanclass="o">.</span><spanclass="n">set_units</span><spanclass="p">(</span><spanclass="n">cm</span><spanclass="p">)</span>
<spanclass="c1"># Fixing random state for reproducibility</span>
<spanclass="c1"># a random line segment in inches</span>
<spanclass="n">verts</span><spanclass="o">.</span><spanclass="n">append</span><spanclass="p">(</span><spanclass="nb">zip</span><spanclass="p">(</span><spanclass="o">*</span><spanclass="n">inch</span><spanclass="o">*</span><spanclass="mi">10</span><spanclass="o">*</span><spanclass="n">np</span><spanclass="o">.</span><spanclass="n">random</span><spanclass="o">.</span><spanclass="n">rand</span><spanclass="p">(</span><spanclass="mi">2</span><spanclass="p">,</span><ahref="https://docs.python.org/3/library/random.html#random.randint" title="View documentation for random.randint"><spanclass="n">random</span><spanclass="o">.</span><spanclass="n">randint</span></a><spanclass="p">(</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="mi">15</span><spanclass="p">))))</span>
<spanclass="n">lc</span><spanclass="o">=</span><ahref="../../api/collections_api.html#matplotlib.collections.LineCollection" title="View documentation for matplotlib.collections.LineCollection"><spanclass="n">collections</span><spanclass="o">.</span><spanclass="n">LineCollection</span></a><spanclass="p">(</span><spanclass="n">verts</span><spanclass="p">,</span><spanclass="n">axes</span><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">add_collection</span><spanclass="p">(</span><spanclass="n">lc</span><spanclass="p">)</span>
<spanclass="c1"># test a plain-ol-line</span>
<ahref="../../api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="View documentation for matplotlib.lines.Line2D"><spanclass="n">line</span></a><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="View documentation for matplotlib.lines.Line2D"><spanclass="n">lines</span><spanclass="o">.</span><spanclass="n">Line2D</span></a><spanclass="p">([</span><spanclass="mi">0</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="mf">1.5</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">],</span><spanclass="p">[</span><spanclass="mi">0</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="mf">2.5</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">],</span>
<spanclass="n">lw</span><spanclass="o">=</span><spanclass="mi">2</span><spanclass="p">,</span><spanclass="n">color</span><spanclass="o">=</span><spanclass="s1">'black'</span><spanclass="p">,</span><spanclass="n">axes</span><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">add_line</span><spanclass="p">(</span><ahref="../../api/_as_gen/matplotlib.lines.Line2D.html#matplotlib.lines.Line2D" title="View documentation for matplotlib.lines.Line2D"><spanclass="n">line</span></a><spanclass="p">)</span>
<spanclass="c1"># Not supported at present.</span>
<spanclass="n">rect</span><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.patches.Rectangle.html#matplotlib.patches.Rectangle" title="View documentation for matplotlib.patches.Rectangle"><spanclass="n">patches</span><spanclass="o">.</span><spanclass="n">Rectangle</span></a><spanclass="p">((</span><spanclass="mi">1</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="mi">1</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">),</span><spanclass="n">width</span><spanclass="o">=</span><spanclass="mi">5</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="n">height</span><spanclass="o">=</span><spanclass="mi">2</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span>
<spanclass="n">alpha</span><spanclass="o">=</span><spanclass="mf">0.2</span><spanclass="p">,</span><spanclass="n">axes</span><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">add_patch</span><spanclass="p">(</span><spanclass="n">rect</span><spanclass="p">)</span>
<ahref="../../api/text_api.html#matplotlib.text.Text" title="View documentation for matplotlib.text.Text"><spanclass="n">t</span></a><spanclass="o">=</span><ahref="../../api/text_api.html#matplotlib.text.Text" title="View documentation for matplotlib.text.Text"><spanclass="n">text</span><spanclass="o">.</span><spanclass="n">Text</span></a><spanclass="p">(</span><spanclass="mi">3</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="mf">2.5</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="s1">'text label'</span><spanclass="p">,</span><spanclass="n">ha</span><spanclass="o">=</span><spanclass="s1">'left'</span><spanclass="p">,</span><spanclass="n">va</span><spanclass="o">=</span><spanclass="s1">'bottom'</span><spanclass="p">,</span><spanclass="n">axes</span><spanclass="o">=</span><ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">add_artist</span><spanclass="p">(</span><ahref="../../api/text_api.html#matplotlib.text.Text" title="View documentation for matplotlib.text.Text"><spanclass="n">t</span></a><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">set_xlim</span><spanclass="p">(</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="mi">10</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">set_ylim</span><spanclass="p">(</span><spanclass="o">-</span><spanclass="mi">1</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">,</span><spanclass="mi">10</span><spanclass="o">*</span><spanclass="n">cm</span><spanclass="p">)</span>
<spanclass="c1"># ax.xaxis.set_units(inch)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">grid</span><spanclass="p">(</span><spanclass="kc">True</span><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.axes.SubplotBase.html#matplotlib.axes.SubplotBase" title="View documentation for matplotlib.axes.SubplotBase"><spanclass="n">ax</span></a><spanclass="o">.</span><spanclass="n">set_title</span><spanclass="p">(</span><spanclass="s2">"Artists with units"</span><spanclass="p">)</span>
<ahref="../../api/_as_gen/matplotlib.pyplot.show.html#matplotlib.pyplot.show" title="View documentation for matplotlib.pyplot.show"><spanclass="n">plt</span><spanclass="o">.</span><spanclass="n">show</span></a><spanclass="p">()</span>
</pre></div>
</div>
<divclass="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-gallery-units-artist-tests-py">