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

Commitaa975c2

Browse files
committed
make Axes._parse_scatter_color_args static
1 parentac0525e commitaa975c2

File tree

2 files changed

+26
-9
lines changed

2 files changed

+26
-9
lines changed

‎lib/matplotlib/axes/_axes.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4013,7 +4013,9 @@ def dopatch(xs, ys, **kwargs):
40134013
returndict(whiskers=whiskers,caps=caps,boxes=boxes,
40144014
medians=medians,fliers=fliers,means=means)
40154015

4016-
def_parse_scatter_color_args(self,c,edgecolors,kwargs,xshape,yshape):
4016+
@staticmethod
4017+
def_parse_scatter_color_args(c,edgecolors,kwargs,xshape,yshape,
4018+
get_next_color_func):
40174019
"""
40184020
Helper function to process color related arguments of `.Axes.scatter`.
40194021
@@ -4023,7 +4025,7 @@ def _parse_scatter_color_args(self, c, edgecolors, kwargs, xshape, yshape):
40234025
- kwargs['facecolors']
40244026
- kwargs['facecolor']
40254027
- kwargs['color'] (==kwcolor)
4026-
- 'b' if in classic mode elsenext color from color cycle
4028+
- 'b' if in classic mode elsethe result of ``get_next_color_func()``
40274029
40284030
Argument precedence for edgecolors:
40294031
@@ -4044,6 +4046,9 @@ def _parse_scatter_color_args(self, c, edgecolors, kwargs, xshape, yshape):
40444046
Note: The dict is modified by this function.
40454047
xshape, yshape : tuple of int
40464048
The shape of the x and y arrays passed to `.Axes.scatter`.
4049+
get_next_color_func : callable
4050+
A callable that returns a color. This color is used as facecolor
4051+
if no other color is provided.
40474052
40484053
Returns
40494054
-------
@@ -4090,7 +4095,7 @@ def _parse_scatter_color_args(self, c, edgecolors, kwargs, xshape, yshape):
40904095
ifcisNone:
40914096
c= (facecolorsiffacecolorsisnotNone
40924097
else"b"ifrcParams['_internal.classic_mode']
4093-
elseself._get_patches_for_fill.get_next_color())
4098+
elseget_next_color_func())
40944099

40954100
# After this block, c_array will be None unless
40964101
# c is an array for mapping. The potential ambiguity
@@ -4289,8 +4294,9 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None,
42894294
s=np.ma.ravel(s)# This doesn't have to match x, y in size.
42904295

42914296
c,colors,edgecolors= \
4292-
self._parse_scatter_color_args(c,edgecolors,kwargs,
4293-
xshape,yshape)
4297+
self._parse_scatter_color_args(
4298+
c,edgecolors,kwargs,xshape,yshape,
4299+
get_next_color_func=self._get_patches_for_fill.get_next_color)
42944300

42954301
# `delete_masked_points` only modifies arguments of the same length as
42964302
# `x`.

‎lib/matplotlib/tests/test_axes.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,19 +1793,30 @@ def test_scatter_color(self):
17931793

17941794
@pytest.mark.parametrize('c_case, re_key',params_test_scatter_c)
17951795
deftest_scatter_c(self,c_case,re_key):
1796+
defget_next_color():
1797+
return'blue'# currently unused
1798+
1799+
frommatplotlib.axesimportAxes
1800+
1801+
xshape=yshape= (4,)
1802+
17961803
# Additional checking of *c* (introduced in #11383).
17971804
REGEXP= {
17981805
"shape":"^'c' argument has [0-9]+ elements",# shape mismatch
17991806
"conversion":"^'c' argument must be a mpl color",# bad vals
18001807
}
1801-
x=y= [0,1,2,3]
1802-
fig,ax=plt.subplots()
18031808

18041809
ifre_keyisNone:
1805-
ax.scatter(x,y,c=c_case,edgecolors="black")
1810+
Axes._parse_scatter_color_args(
1811+
c=c_case,edgecolors="black",kwargs={},
1812+
xshape=xshape,yshape=yshape,
1813+
get_next_color_func=get_next_color)
18061814
else:
18071815
withpytest.raises(ValueError,match=REGEXP[re_key]):
1808-
ax.scatter(x,y,c=c_case,edgecolors="black")
1816+
Axes._parse_scatter_color_args(
1817+
c=c_case,edgecolors="black",kwargs={},
1818+
xshape=xshape,yshape=yshape,
1819+
get_next_color_func=get_next_color)
18091820

18101821

18111822
def_params(c=None,xshape=(2,),yshape=(2,),**kwargs):

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp