FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
matplotlib/lib/matplotlib/container.py at master · feisuo/matplotlib · GitHub
feisuo
matplotlib
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
matplotlib
/
lib
/
matplotlib
/
container.py
Copy path
More file actions
More file actions
Latest commit
History
History
History
132 lines (98 loc) · 3.48 KB
Breadcrumbs
matplotlib
/
lib
/
matplotlib
/
container.py
Copy path
File metadata and controls
132 lines (98 loc) · 3.48 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
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
from
__future__
import
(
absolute_import
,
division
,
print_function
,
unicode_literals
)
import
six
import
matplotlib
.
cbook
as
cbook
import
matplotlib
.
artist
as
martist
class
Container
(
tuple
):
"""
Base class for containers.
"""
def
__repr__
(
self
):
return
"<Container object of %d artists>"
%
(
len
(
self
))
def
__new__
(
cls
,
*
kl
,
**
kwargs
):
return
tuple
.
__new__
(
cls
,
kl
[
0
])
def
__init__
(
self
,
kl
,
label
=
None
):
self
.
eventson
=
False
# fire events only if eventson
self
.
_oid
=
0
# an observer id
self
.
_propobservers
=
{}
# a dict from oids to funcs
self
.
_remove_method
=
None
self
.
set_label
(
label
)
def
set_remove_method
(
self
,
f
):
self
.
_remove_method
=
f
def
remove
(
self
):
for
c
in
cbook
.
flatten
(
self
,
scalarp
=
lambda
x
:
isinstance
(
x
,
martist
.
Artist
)):
c
.
remove
()
if
self
.
_remove_method
:
self
.
_remove_method
(
self
)
def
__getstate__
(
self
):
d
=
self
.
__dict__
.
copy
()
# remove the unpicklable remove method, this will get re-added on load
# (by the axes) if the artist lives on an axes.
d
[
'_remove_method'
]
=
None
return
d
def
get_label
(
self
):
"""
Get the label used for this artist in the legend.
"""
return
self
.
_label
def
set_label
(
self
,
s
):
"""
Set the label to *s* for auto legend.
ACCEPTS: string or anything printable with '%s' conversion.
"""
if
s
is
not
None
:
self
.
_label
=
'%s'
%
(
s
, )
else
:
self
.
_label
=
None
self
.
pchanged
()
def
add_callback
(
self
,
func
):
"""
Adds a callback function that will be called whenever one of
the :class:`Artist`'s properties changes.
Returns an *id* that is useful for removing the callback with
:meth:`remove_callback` later.
"""
oid
=
self
.
_oid
self
.
_propobservers
[
oid
]
=
func
self
.
_oid
+=
1
return
oid
def
remove_callback
(
self
,
oid
):
"""
Remove a callback based on its *id*.
.. seealso::
:meth:`add_callback`
For adding callbacks
"""
try
:
del
self
.
_propobservers
[
oid
]
except
KeyError
:
pass
def
pchanged
(
self
):
"""
Fire an event when property changed, calling all of the
registered callbacks.
"""
for
oid
,
func
in
list
(
six
.
iteritems
(
self
.
_propobservers
)):
func
(
self
)
def
get_children
(
self
):
return
list
(
cbook
.
flatten
(
self
))
class
BarContainer
(
Container
):
def
__init__
(
self
,
patches
,
errorbar
=
None
,
**
kwargs
):
self
.
patches
=
patches
self
.
errorbar
=
errorbar
Container
.
__init__
(
self
,
patches
,
**
kwargs
)
class
ErrorbarContainer
(
Container
):
def
__init__
(
self
,
lines
,
has_xerr
=
False
,
has_yerr
=
False
,
**
kwargs
):
self
.
lines
=
lines
self
.
has_xerr
=
has_xerr
self
.
has_yerr
=
has_yerr
Container
.
__init__
(
self
,
lines
,
**
kwargs
)
class
StemContainer
(
Container
):
def
__init__
(
self
,
markerline_stemlines_baseline
,
**
kwargs
):
markerline
,
stemlines
,
baseline
=
markerline_stemlines_baseline
self
.
markerline
=
markerline
self
.
stemlines
=
stemlines
self
.
baseline
=
baseline
Container
.
__init__
(
self
,
markerline_stemlines_baseline
,
**
kwargs
)
Back
|
FazBrowse Home
|
New Git URL