Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit976823e

Browse files
committed
MarkerStyle is considered immutable
1 parent408b1ab commit976823e

File tree

4 files changed

+56
-23
lines changed

4 files changed

+56
-23
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
``MarkerStyle`` is considered immutable
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
``MarkerStyle.set_fillstyle()`` and ``MarkerStyle.set_marker()`` are
4+
deprecated. Create a new ``MarkerStyle`` with the respective parameters
5+
instead.

‎lib/matplotlib/lines.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,7 @@ def set_fillstyle(self, fs):
534534
535535
For examples see :ref:`marker_fill_styles`.
536536
"""
537-
self._marker.set_fillstyle(fs)
537+
self.set_marker(MarkerStyle(self._marker.get_marker(),fs))
538538
self.stale=True
539539

540540
defset_markevery(self,every):
@@ -930,7 +930,8 @@ def get_markeredgecolor(self):
930930
ifrcParams['_internal.classic_mode']:
931931
ifself._marker.get_marker()in ('.',','):
932932
returnself._color
933-
ifself._marker.is_filled()andself.get_fillstyle()!='none':
933+
if (self._marker.is_filled()
934+
andself._marker.get_fillstyle()!='none'):
934935
return'k'# Bad hard-wired default...
935936
returnself._color
936937
else:
@@ -945,7 +946,7 @@ def get_markeredgewidth(self):
945946
returnself._markeredgewidth
946947

947948
def_get_markerfacecolor(self,alt=False):
948-
ifself.get_fillstyle()=='none':
949+
ifself._marker.get_fillstyle()=='none':
949950
return'none'
950951
fc=self._markerfacecoloraltifaltelseself._markerfacecolor
951952
ifcbook._str_lower_equal(fc,'auto'):
@@ -1166,7 +1167,7 @@ def set_marker(self, marker):
11661167
See `~matplotlib.markers` for full description of possible
11671168
arguments.
11681169
"""
1169-
self._marker.set_marker(marker)
1170+
self._marker=MarkerStyle(marker,self._marker.get_fillstyle())
11701171
self.stale=True
11711172

11721173
defset_markeredgecolor(self,ec):

‎lib/matplotlib/markers.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ class MarkerStyle:
147147
"""
148148
A class representing marker types.
149149
150+
Instances are immutable. If you need to change anything, create a new
151+
instance.
152+
150153
Attributes
151154
----------
152155
markers : list
@@ -228,8 +231,8 @@ def __init__(self, marker=None, fillstyle=None):
228231
One of 'full', 'left', 'right', 'bottom', 'top', 'none'.
229232
"""
230233
self._marker_function=None
231-
self.set_fillstyle(fillstyle)
232-
self.set_marker(marker)
234+
self._set_fillstyle(fillstyle)
235+
self._set_marker(marker)
233236

234237
def_recache(self):
235238
ifself._marker_functionisNone:
@@ -256,7 +259,11 @@ def is_filled(self):
256259
defget_fillstyle(self):
257260
returnself._fillstyle
258261

262+
@_api.deprecated("3.4",alternative="a new marker")
259263
defset_fillstyle(self,fillstyle):
264+
returnself._set_fillstyle(fillstyle)
265+
266+
def_set_fillstyle(self,fillstyle):
260267
"""
261268
Set the fillstyle.
262269
@@ -281,7 +288,11 @@ def get_capstyle(self):
281288
defget_marker(self):
282289
returnself._marker
283290

291+
@_api.deprecated("3.4",alternative="a new marker")
284292
defset_marker(self,marker):
293+
returnself._set_marker(marker)
294+
295+
def_set_marker(self,marker):
285296
"""
286297
Set the marker.
287298

‎lib/matplotlib/tests/test_marker.py

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,43 @@ def test_marker_fillstyle():
1313
assertnotmarker_style.is_filled()
1414

1515

16-
deftest_markers_valid():
17-
marker_style=markers.MarkerStyle()
18-
mrk_array=np.array([[-0.5,0],
19-
[0.5,0]])
16+
@pytest.mark.parametrize('marker', [
17+
'o',
18+
'x',
19+
'',
20+
'None',
21+
None,
22+
r'$\frac{1}{2}$',
23+
"$\u266B$",
24+
1,
25+
markers.TICKLEFT,
26+
[[-1,0], [1,0]],
27+
np.array([[-1,0], [1,0]]),
28+
Path([[0,0], [1,0]], [Path.MOVETO,Path.LINETO]),
29+
(5,0),# a pentagon
30+
(7,1),# a 7-pointed star
31+
(5,2),# asterisk
32+
(5,0,10),# a pentagon, rotated by 10 degrees
33+
(7,1,10),# a 7-pointed star, rotated by 10 degrees
34+
(5,2,10),# asterisk, rotated by 10 degrees
35+
markers.MarkerStyle(),
36+
markers.MarkerStyle('o'),
37+
])
38+
deftest_markers_valid(marker):
2039
# Checking this doesn't fail.
21-
marker_style.set_marker(mrk_array)
40+
markers.MarkerStyle(marker)
2241

2342

24-
deftest_markers_invalid():
25-
marker_style=markers.MarkerStyle()
26-
mrk_array=np.array([[-0.5,0,1,2,3]])
27-
# Checking this does fail.
43+
@pytest.mark.parametrize('marker', [
44+
'square',# arbitrary string
45+
np.array([[-0.5,0,1,2,3]]),# 1D array
46+
(1,),
47+
(5,3),# second parameter of tuple must be 0, 1, or 2
48+
(1,2,3,4),
49+
])
50+
deftest_markers_invalid(marker):
2851
withpytest.raises(ValueError):
29-
marker_style.set_marker(mrk_array)
30-
31-
32-
deftest_marker_path():
33-
marker_style=markers.MarkerStyle()
34-
path=Path([[0,0], [1,0]], [Path.MOVETO,Path.LINETO])
35-
# Checking this doesn't fail.
36-
marker_style.set_marker(path)
52+
markers.MarkerStyle(marker)
3753

3854

3955
classUnsnappedMarkerStyle(markers.MarkerStyle):

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp