FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
matplotlib/lib/matplotlib/tri/_triplot.py at main · commit-0/matplotlib · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
commit-0
/
matplotlib
Public
forked from
matplotlib/matplotlib
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
matplotlib
/
lib
/
matplotlib
/
tri
/
_triplot.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
86 lines (73 loc) · 3.03 KB
Breadcrumbs
matplotlib
/
lib
/
matplotlib
/
tri
/
_triplot.py
Copy path
File metadata and controls
86 lines (73 loc) · 3.03 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
import
numpy
as
np
from
matplotlib
.
tri
.
_triangulation
import
Triangulation
import
matplotlib
.
cbook
as
cbook
import
matplotlib
.
lines
as
mlines
def
triplot
(
ax
,
*
args
,
**
kwargs
):
"""
Draw an unstructured triangular grid as lines and/or markers.
Call signatures::
triplot(triangulation, ...)
triplot(x, y, [triangles], *, [mask=mask], ...)
The triangular grid can be specified either by passing a `.Triangulation`
object as the first parameter, or by passing the points *x*, *y* and
optionally the *triangles* and a *mask*. If neither of *triangulation* or
*triangles* are given, the triangulation is calculated on the fly.
Parameters
----------
triangulation : `.Triangulation`
An already created triangular grid.
x, y, triangles, mask
Parameters defining the triangular grid. See `.Triangulation`.
This is mutually exclusive with specifying *triangulation*.
other_parameters
All other args and kwargs are forwarded to `~.Axes.plot`.
Returns
-------
lines : `~matplotlib.lines.Line2D`
The drawn triangles edges.
markers : `~matplotlib.lines.Line2D`
The drawn marker nodes.
"""
import
matplotlib
.
axes
tri
,
args
,
kwargs
=
Triangulation
.
get_from_args_and_kwargs
(
*
args
,
**
kwargs
)
x
,
y
,
edges
=
(
tri
.
x
,
tri
.
y
,
tri
.
edges
)
# Decode plot format string, e.g., 'ro-'
fmt
=
args
[
0
]
if
args
else
""
linestyle
,
marker
,
color
=
matplotlib
.
axes
.
_base
.
_process_plot_format
(
fmt
)
# Insert plot format string into a copy of kwargs (kwargs values prevail).
kw
=
cbook
.
normalize_kwargs
(
kwargs
,
mlines
.
Line2D
)
for
key
,
val
in
zip
((
'linestyle'
,
'marker'
,
'color'
),
(
linestyle
,
marker
,
color
)):
if
val
is
not
None
:
kw
.
setdefault
(
key
,
val
)
# Draw lines without markers.
# Note 1: If we drew markers here, most markers would be drawn more than
# once as they belong to several edges.
# Note 2: We insert nan values in the flattened edges arrays rather than
# plotting directly (triang.x[edges].T, triang.y[edges].T)
# as it considerably speeds-up code execution.
linestyle
=
kw
[
'linestyle'
]
kw_lines
=
{
**
kw
,
'marker'
:
'None'
,
# No marker to draw.
'zorder'
:
kw
.
get
(
'zorder'
,
1
),
# Path default zorder is used.
}
if
linestyle
not
in
[
None
,
'None'
,
''
,
' '
]:
tri_lines_x
=
np
.
insert
(
x
[
edges
],
2
,
np
.
nan
,
axis
=
1
)
tri_lines_y
=
np
.
insert
(
y
[
edges
],
2
,
np
.
nan
,
axis
=
1
)
tri_lines
=
ax
.
plot
(
tri_lines_x
.
ravel
(),
tri_lines_y
.
ravel
(),
**
kw_lines
)
else
:
tri_lines
=
ax
.
plot
([], [],
**
kw_lines
)
# Draw markers separately.
marker
=
kw
[
'marker'
]
kw_markers
=
{
**
kw
,
'linestyle'
:
'None'
,
# No line to draw.
}
kw_markers
.
pop
(
'label'
,
None
)
if
marker
not
in
[
None
,
'None'
,
''
,
' '
]:
tri_markers
=
ax
.
plot
(
x
,
y
,
**
kw_markers
)
else
:
tri_markers
=
ax
.
plot
([], [],
**
kw_markers
)
return
tri_lines
+
tri_markers
Back
|
FazBrowse Home
|
New Git URL