-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy path_enums.html
More file actions
333 lines (265 loc) · 31.5 KB
/
_enums.html
File metadata and controls
333 lines (265 loc) · 31.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>matplotlib._enums — Matplotlib 3.4.2 documentation</title>
<link rel="stylesheet" href="../../_static/mpl.css?v3.4.2-2-gf801f04d09-dirty" type="text/css" />
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" type="text/css" href="../../_static/graphviz.css" />
<link rel="stylesheet" type="text/css" href="../../_static/plot_directive.css" />
<link rel="stylesheet" type="text/css" href="../../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../../_static/gallery.css" />
<link rel="stylesheet" type="text/css" href="../../_static/gallery-binder.css" />
<link rel="stylesheet" type="text/css" href="../../_static/gallery-dataframe.css" />
<script id="documentation_options" data-url_root="../../" src="../../_static/documentation_options.js"></script>
<script src="../../_static/jquery.js"></script>
<script src="../../_static/underscore.js"></script>
<script src="../../_static/doctools.js"></script>
<script src="../../_static/language_data.js"></script>
<script src="../../_static/clipboard.min.js"></script>
<script src="../../_static/copybutton.js"></script>
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Search within Matplotlib 3.4.2 documentation"
href="../../_static/opensearch.xml"/>
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
<link rel="index" title="Index" href="../../genindex.html" />
<link rel="search" title="Search" href="../../search.html" />
<link rel="top" title="Matplotlib 3.4.2 documentation" href="#" />
<link rel="canonical" href="https://matplotlib.org/3.4.3/_modules/matplotlib/_enums.html" />
<link rel="stylesheet" href="../../_static/custom.css" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
<script data-domain="matplotlib.org" defer="defer" src="https://views.scientific-python.org/js/script.js"></script>
</head><body>
<div id="unreleased-message"> You are reading an old version of the documentation (v3.4.2). For the latest version see <a href="/stable/">https://matplotlib.org/stable/</a> </div>
<!--
<div id="annc-banner">
</div>
-->
<div style="background-color: white; text-align: left; padding: 10px 10px 15px 15px; position: relative;">
<a href="../../index.html">
<div style="float: left; position: absolute; width: 496px; bottom: 0; padding-bottom: 24px"><span style="float: right; color: #789; background: white">Version 3.4.2</span></div>
<img src="../../_static/logo2_compressed.svg" height="125px" border="0" alt="matplotlib"/></a>
<!-- The "Fork me on github" ribbon -->
<div id="forkongithub"><a href="https://github.com/matplotlib/matplotlib">Fork me on GitHub</a></div>
</div>
<nav class="main-nav">
<ul>
<li><a href="../../users/installing.html">Installation</a></li>
<li><a href="../../contents.html">Documentation</a></li>
<li><a href="../../gallery/index.html">Examples</a></li>
<li><a href="../../tutorials/index.html">Tutorials</a></li>
<li><a href="../../devel/index.html">Contributing</a></li>
<li class="nav-right">
<form class="search" action="../../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" placeholder="Search"/>
</form>
</li>
</ul>
</nav>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li><a href="../../index.html">home</a>| </li>
<li><a href="../../contents.html">contents</a> »</li>
<li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> »</li>
<li class="nav-item nav-item-2"><a href="../matplotlib.html" accesskey="U">matplotlib</a> »</li>
<li class="nav-item nav-item-this"><a href="">matplotlib._enums</a></li>
</ul>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<h1>Source code for matplotlib._enums</h1><div class="highlight"><pre>
<span></span><span class="sd">"""</span>
<span class="sd">Enums representing sets of strings that Matplotlib uses as input parameters.</span>
<span class="sd">Matplotlib often uses simple data types like strings or tuples to define a</span>
<span class="sd">concept; e.g. the line capstyle can be specified as one of 'butt', 'round',</span>
<span class="sd">or 'projecting'. The classes in this module are used internally and serve to</span>
<span class="sd">document these concepts formally.</span>
<span class="sd">As an end-user you will not use these classes directly, but only the values</span>
<span class="sd">they define.</span>
<span class="sd">"""</span>
<span class="kn">from</span> <span class="nn">enum</span> <span class="kn">import</span> <span class="n">Enum</span><span class="p">,</span> <span class="n">auto</span>
<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">cbook</span><span class="p">,</span> <span class="n">docstring</span>
<span class="k">class</span> <span class="nc">_AutoStringNameEnum</span><span class="p">(</span><span class="n">Enum</span><span class="p">):</span>
<span class="sd">"""Automate the ``name = 'name'`` part of making a (str, Enum)."""</span>
<span class="k">def</span> <span class="nf">_generate_next_value_</span><span class="p">(</span><span class="n">name</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">last_values</span><span class="p">):</span>
<span class="k">return</span> <span class="n">name</span>
<span class="k">def</span> <span class="fm">__hash__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="fm">__hash__</span><span class="p">()</span>
<span class="k">def</span> <span class="nf">_deprecate_case_insensitive_join_cap</span><span class="p">(</span><span class="n">s</span><span class="p">):</span>
<span class="n">s_low</span> <span class="o">=</span> <span class="n">s</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
<span class="k">if</span> <span class="n">s</span> <span class="o">!=</span> <span class="n">s_low</span><span class="p">:</span>
<span class="k">if</span> <span class="n">s_low</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'miter'</span><span class="p">,</span> <span class="s1">'round'</span><span class="p">,</span> <span class="s1">'bevel'</span><span class="p">]:</span>
<span class="n">cbook</span><span class="o">.</span><span class="n">warn_deprecated</span><span class="p">(</span>
<span class="s2">"3.3"</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s2">"Case-insensitive capstyles are deprecated "</span>
<span class="s2">"since </span><span class="si">%(since)s</span><span class="s2"> and support for them will be removed "</span>
<span class="s2">"</span><span class="si">%(removal)s</span><span class="s2">; please pass them in lowercase."</span><span class="p">)</span>
<span class="k">elif</span> <span class="n">s_low</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'butt'</span><span class="p">,</span> <span class="s1">'round'</span><span class="p">,</span> <span class="s1">'projecting'</span><span class="p">]:</span>
<span class="n">cbook</span><span class="o">.</span><span class="n">warn_deprecated</span><span class="p">(</span>
<span class="s2">"3.3"</span><span class="p">,</span> <span class="n">message</span><span class="o">=</span><span class="s2">"Case-insensitive joinstyles are deprecated "</span>
<span class="s2">"since </span><span class="si">%(since)s</span><span class="s2"> and support for them will be removed "</span>
<span class="s2">"</span><span class="si">%(removal)s</span><span class="s2">; please pass them in lowercase."</span><span class="p">)</span>
<span class="c1"># Else, error out at the check_in_list stage.</span>
<span class="k">return</span> <span class="n">s_low</span>
<div class="viewcode-block" id="JoinStyle"><a class="viewcode-back" href="../../api/_enums_api.html#matplotlib._enums.JoinStyle">[docs]</a><span class="k">class</span> <span class="nc">JoinStyle</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">_AutoStringNameEnum</span><span class="p">):</span>
<span class="sd">"""</span>
<span class="sd"> Define how the connection between two line segments is drawn.</span>
<span class="sd"> For a visual impression of each *JoinStyle*, `view these docs online</span>
<span class="sd"> <JoinStyle>`, or run `JoinStyle.demo`.</span>
<span class="sd"> Lines in Matplotlib are typically defined by a 1D `~.path.Path` and a</span>
<span class="sd"> finite ``linewidth``, where the underlying 1D `~.path.Path` represents the</span>
<span class="sd"> center of the stroked line.</span>
<span class="sd"> By default, `~.backend_bases.GraphicsContextBase` defines the boundaries of</span>
<span class="sd"> a stroked line to simply be every point within some radius,</span>
<span class="sd"> ``linewidth/2``, away from any point of the center line. However, this</span>
<span class="sd"> results in corners appearing "rounded", which may not be the desired</span>
<span class="sd"> behavior if you are drawing, for example, a polygon or pointed star.</span>
<span class="sd"> **Supported values:**</span>
<span class="sd"> .. rst-class:: value-list</span>
<span class="sd"> 'miter'</span>
<span class="sd"> the "arrow-tip" style. Each boundary of the filled-in area will</span>
<span class="sd"> extend in a straight line parallel to the tangent vector of the</span>
<span class="sd"> centerline at the point it meets the corner, until they meet in a</span>
<span class="sd"> sharp point.</span>
<span class="sd"> 'round'</span>
<span class="sd"> stokes every point within a radius of ``linewidth/2`` of the center</span>
<span class="sd"> lines.</span>
<span class="sd"> 'bevel'</span>
<span class="sd"> the "squared-off" style. It can be thought of as a rounded corner</span>
<span class="sd"> where the "circular" part of the corner has been cut off.</span>
<span class="sd"> .. note::</span>
<span class="sd"> Very long miter tips are cut off (to form a *bevel*) after a</span>
<span class="sd"> backend-dependent limit called the "miter limit", which specifies the</span>
<span class="sd"> maximum allowed ratio of miter length to line width. For example, the</span>
<span class="sd"> PDF backend uses the default value of 10 specified by the PDF standard,</span>
<span class="sd"> while the SVG backend does not even specify the miter limit, resulting</span>
<span class="sd"> in a default value of 4 per the SVG specification. Matplotlib does not</span>
<span class="sd"> currently allow the user to adjust this parameter.</span>
<span class="sd"> A more detailed description of the effect of a miter limit can be found</span>
<span class="sd"> in the `Mozilla Developer Docs</span>
<span class="sd"> <https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit>`_</span>
<span class="sd"> .. plot::</span>
<span class="sd"> :alt: Demo of possible JoinStyle's</span>
<span class="sd"> from matplotlib._enums import JoinStyle</span>
<span class="sd"> JoinStyle.demo()</span>
<span class="sd"> """</span>
<span class="n">miter</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
<span class="nb">round</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
<span class="n">bevel</span> <span class="o">=</span> <span class="n">auto</span><span class="p">()</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s</span><span class="p">):</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">_deprecate_case_insensitive_join_cap</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
<span class="n">Enum</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<div class="viewcode-block" id="JoinStyle.demo"><a class="viewcode-back" href="../../api/_enums_api.html#matplotlib._enums.JoinStyle.demo">[docs]</a> <span class="nd">@staticmethod</span>
<span class="k">def</span> <span class="nf">demo</span><span class="p">():</span>
<span class="sd">"""Demonstrate how each JoinStyle looks for various join angles."""</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="k">def</span> <span class="nf">plot_angle</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">angle</span><span class="p">,</span> <span class="n">style</span><span class="p">):</span>
<span class="n">phi</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">radians</span><span class="p">(</span><span class="n">angle</span><span class="p">)</span>
<span class="n">xx</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span> <span class="o">+</span> <span class="o">.</span><span class="mi">5</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">x</span> <span class="o">+</span> <span class="o">.</span><span class="mi">5</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">phi</span><span class="p">)]</span>
<span class="n">yy</span> <span class="o">=</span> <span class="p">[</span><span class="n">y</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">y</span> <span class="o">+</span> <span class="o">.</span><span class="mi">5</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">phi</span><span class="p">)]</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">,</span> <span class="n">yy</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">12</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'tab:blue'</span><span class="p">,</span> <span class="n">solid_joinstyle</span><span class="o">=</span><span class="n">style</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">,</span> <span class="n">yy</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'black'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">yy</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="s1">'o'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'tab:red'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="n">constrained_layout</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Join style'</span><span class="p">)</span>
<span class="k">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">style</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s1">'miter'</span><span class="p">,</span> <span class="s1">'round'</span><span class="p">,</span> <span class="s1">'bevel'</span><span class="p">]):</span>
<span class="n">ax</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">5</span><span class="p">,</span> <span class="n">style</span><span class="p">)</span>
<span class="k">for</span> <span class="n">y</span><span class="p">,</span> <span class="n">angle</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="mi">20</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="mi">60</span><span class="p">,</span> <span class="mi">90</span><span class="p">,</span> <span class="mi">120</span><span class="p">]):</span>
<span class="n">plot_angle</span><span class="p">(</span><span class="n">ax</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">angle</span><span class="p">,</span> <span class="n">style</span><span class="p">)</span>
<span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">ax</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="o">-</span><span class="mf">1.3</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="sa">f</span><span class="s1">'</span><span class="si">{</span><span class="n">angle</span><span class="si">}</span><span class="s1"> degrees'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">(</span><span class="o">-</span><span class="mf">1.5</span><span class="p">,</span> <span class="mf">2.75</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">(</span><span class="o">-.</span><span class="mi">5</span><span class="p">,</span> <span class="mf">5.5</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_axis_off</span><span class="p">()</span>
<span class="n">fig</span><span class="o">.</span><span class="n">show</span><span class="p">()</span></div></div>
<span class="n">JoinStyle</span><span class="o">.</span><span class="n">input_description</span> <span class="o">=</span> <span class="s2">"{"</span> \
<span class="o">+</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="sa">f</span><span class="s2">"'</span><span class="si">{</span><span class="n">js</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">'"</span> <span class="k">for</span> <span class="n">js</span> <span class="ow">in</span> <span class="n">JoinStyle</span><span class="p">])</span> \
<span class="o">+</span> <span class="s2">"}"</span>
<div class="viewcode-block" id="CapStyle"><a class="viewcode-back" href="../../api/_enums_api.html#matplotlib._enums.CapStyle">[docs]</a><span class="k">class</span> <span class="nc">CapStyle</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="n">_AutoStringNameEnum</span><span class="p">):</span>
<span class="sa">r</span><span class="sd">"""</span>
<span class="sd"> Define how the two endpoints (caps) of an unclosed line are drawn.</span>
<span class="sd"> How to draw the start and end points of lines that represent a closed curve</span>
<span class="sd"> (i.e. that end in a `~.path.Path.CLOSEPOLY`) is controlled by the line's</span>
<span class="sd"> `JoinStyle`. For all other lines, how the start and end points are drawn is</span>
<span class="sd"> controlled by the *CapStyle*.</span>
<span class="sd"> For a visual impression of each *CapStyle*, `view these docs online</span>
<span class="sd"> <CapStyle>` or run `CapStyle.demo`.</span>
<span class="sd"> **Supported values:**</span>
<span class="sd"> .. rst-class:: value-list</span>
<span class="sd"> 'butt'</span>
<span class="sd"> the line is squared off at its endpoint.</span>
<span class="sd"> 'projecting'</span>
<span class="sd"> the line is squared off as in *butt*, but the filled in area</span>
<span class="sd"> extends beyond the endpoint a distance of ``linewidth/2``.</span>
<span class="sd"> 'round'</span>
<span class="sd"> like *butt*, but a semicircular cap is added to the end of the</span>
<span class="sd"> line, of radius ``linewidth/2``.</span>
<span class="sd"> .. plot::</span>
<span class="sd"> :alt: Demo of possible CapStyle's</span>
<span class="sd"> from matplotlib._enums import CapStyle</span>
<span class="sd"> CapStyle.demo()</span>
<span class="sd"> """</span>
<span class="n">butt</span> <span class="o">=</span> <span class="s1">'butt'</span>
<span class="n">projecting</span> <span class="o">=</span> <span class="s1">'projecting'</span>
<span class="nb">round</span> <span class="o">=</span> <span class="s1">'round'</span>
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">s</span><span class="p">):</span>
<span class="n">s</span> <span class="o">=</span> <span class="n">_deprecate_case_insensitive_join_cap</span><span class="p">(</span><span class="n">s</span><span class="p">)</span>
<span class="n">Enum</span><span class="o">.</span><span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<div class="viewcode-block" id="CapStyle.demo"><a class="viewcode-back" href="../../api/_enums_api.html#matplotlib._enums.CapStyle.demo">[docs]</a> <span class="nd">@staticmethod</span>
<span class="k">def</span> <span class="nf">demo</span><span class="p">():</span>
<span class="sd">"""Demonstrate how each CapStyle looks for a thick line segment."""</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mf">1.2</span><span class="p">))</span>
<span class="n">ax</span> <span class="o">=</span> <span class="n">fig</span><span class="o">.</span><span class="n">add_axes</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="mi">1</span><span class="p">,</span> <span class="mf">0.8</span><span class="p">])</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Cap style'</span><span class="p">)</span>
<span class="k">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">style</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s1">'butt'</span><span class="p">,</span> <span class="s1">'round'</span><span class="p">,</span> <span class="s1">'projecting'</span><span class="p">]):</span>
<span class="n">ax</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="n">x</span><span class="o">+</span><span class="mf">0.25</span><span class="p">,</span> <span class="mf">0.85</span><span class="p">,</span> <span class="n">style</span><span class="p">,</span> <span class="n">ha</span><span class="o">=</span><span class="s1">'center'</span><span class="p">)</span>
<span class="n">xx</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="p">,</span> <span class="n">x</span><span class="o">+</span><span class="mf">0.5</span><span class="p">]</span>
<span class="n">yy</span> <span class="o">=</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">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">,</span> <span class="n">yy</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">12</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'tab:blue'</span><span class="p">,</span> <span class="n">solid_capstyle</span><span class="o">=</span><span class="n">style</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">,</span> <span class="n">yy</span><span class="p">,</span> <span class="n">lw</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'black'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">xx</span><span class="p">,</span> <span class="n">yy</span><span class="p">,</span> <span class="s1">'o'</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">'tab:red'</span><span class="p">,</span> <span class="n">markersize</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">text</span><span class="p">(</span><span class="mf">2.25</span><span class="p">,</span> <span class="mf">0.55</span><span class="p">,</span> <span class="s1">'(default)'</span><span class="p">,</span> <span class="n">ha</span><span class="o">=</span><span class="s1">'center'</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">(</span><span class="o">-.</span><span class="mi">5</span><span class="p">,</span> <span class="mf">1.5</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_axis_off</span><span class="p">()</span>
<span class="n">fig</span><span class="o">.</span><span class="n">show</span><span class="p">()</span></div></div>
<span class="n">CapStyle</span><span class="o">.</span><span class="n">input_description</span> <span class="o">=</span> <span class="s2">"{"</span> \
<span class="o">+</span> <span class="s2">", "</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="sa">f</span><span class="s2">"'</span><span class="si">{</span><span class="n">cs</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">'"</span> <span class="k">for</span> <span class="n">cs</span> <span class="ow">in</span> <span class="n">CapStyle</span><span class="p">])</span> \
<span class="o">+</span> <span class="s2">"}"</span>
<span class="n">docstring</span><span class="o">.</span><span class="n">interpd</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s1">'JoinStyle'</span><span class="p">:</span> <span class="n">JoinStyle</span><span class="o">.</span><span class="n">input_description</span><span class="p">,</span>
<span class="s1">'CapStyle'</span><span class="p">:</span> <span class="n">CapStyle</span><span class="o">.</span><span class="n">input_description</span><span class="p">})</span>
</pre></div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<footer>
<div class="footer">
© Copyright 2002 - 2012 John Hunter, Darren Dale, Eric Firing, Michael Droettboom and the Matplotlib development team; 2012 - 2021 The Matplotlib development team.
<br />
Last updated on May 08, 2021.
Created using
<a href="http://sphinx-doc.org/">Sphinx</a> 3.2.1.
Doc version v3.4.2-2-gf801f04d09-dirty.
</div>
</footer>
</body>
</html>