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

Commitf7aa29d

Browse files
committed
Cleanup and document _plot_args()
1 parent4e4410d commitf7aa29d

File tree

1 file changed

+54
-13
lines changed

1 file changed

+54
-13
lines changed

‎lib/matplotlib/axes/_base.py

Lines changed: 54 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -403,12 +403,53 @@ def _makefill(self, x, y, kw, kwargs):
403403
returnseg,kwargs
404404

405405
def_plot_args(self,tup,kwargs,return_kwargs=False):
406+
"""
407+
Process the arguments of ``plot([x], y, [fmt], **kwargs)`` calls.
408+
409+
This processes a single set of ([x], y, [fmt]) parameters; i.e. for
410+
``plot(x, y, x2, y2)`` it will be called twice. Once for (x, y) and
411+
once for (x2, y2).
412+
413+
x and y may be 2D and thus can still represent multiple datasets.
414+
415+
For multiple datasets, if the keyword argument *label* is a list, this
416+
will unpack the list and assign the individual labels to the datasets.
417+
418+
Parameters
419+
----------
420+
tup : tuple
421+
A tuple of the positional parameters. This can be one of
422+
423+
- (y,)
424+
- (x, y)
425+
- (y, fmt)
426+
- (x, y, fmt)
427+
428+
kwargs : dict
429+
The keyword arguments passed to ``plot()``.
430+
431+
return_kwargs : bool
432+
If true, return the effective keyword arguments after label
433+
unpacking as well.
434+
435+
Returns
436+
-------
437+
result
438+
If *return_kwargs* is false, a list of Artists representing the
439+
dataset(s).
440+
If *return_kwargs* is true, a list of (Artist, effective_kwargs)
441+
representing the dataset(s). See *return_kwargs*.
442+
The Artist is either `.Line2D` (if called from ``plot()``) or
443+
`.Polygon` otherwise.
444+
"""
406445
iflen(tup)>1andisinstance(tup[-1],str):
407-
linestyle,marker,color=_process_plot_format(tup[-1])
408-
tup=tup[:-1]
446+
# xy is tup with fmt stripped (could still be (y,) only)
447+
*xy,fmt=tup
448+
linestyle,marker,color=_process_plot_format(fmt)
409449
eliflen(tup)==3:
410450
raiseValueError('third arg must be a format string')
411451
else:
452+
xy=tup
412453
linestyle,marker,color=None,None,None
413454

414455
# Don't allow any None value; these would be up-converted to one
@@ -417,16 +458,16 @@ def _plot_args(self, tup, kwargs, return_kwargs=False):
417458
raiseValueError("x, y, and format string must not be None")
418459

419460
kw= {}
420-
fork,vinzip(('linestyle','marker','color'),
421-
(linestyle,marker,color)):
461+
forprop_name,vinzip(('linestyle','marker','color'),
462+
(linestyle,marker,color)):
422463
ifvisnotNone:
423-
kw[k]=v
464+
kw[prop_name]=v
424465

425-
iflen(tup)==2:
426-
x=_check_1d(tup[0])
427-
y=_check_1d(tup[-1])
466+
iflen(xy)==2:
467+
x=_check_1d(xy[0])
468+
y=_check_1d(xy[1])
428469
else:
429-
x,y=index_of(tup[-1])
470+
x,y=index_of(xy[-1])
430471

431472
ifself.axes.xaxisisnotNone:
432473
self.axes.xaxis.update_units(x)
@@ -445,10 +486,10 @@ def _plot_args(self, tup, kwargs, return_kwargs=False):
445486
y=y[:,np.newaxis]
446487

447488
ifself.command=='plot':
448-
func=self._makeline
489+
make_artist=self._makeline
449490
else:
450491
kw['closed']=kwargs.get('closed',True)
451-
func=self._makefill
492+
make_artist=self._makefill
452493

453494
ncx,ncy=x.shape[1],y.shape[1]
454495
ifncx>1andncy>1andncx!=ncy:
@@ -465,8 +506,8 @@ def _plot_args(self, tup, kwargs, return_kwargs=False):
465506
else:
466507
labels= [label]*n_datasets
467508

468-
result= (func(x[:,j%ncx],y[:,j%ncy],kw,
469-
{**kwargs,'label':label})
509+
result= (make_artist(x[:,j%ncx],y[:,j%ncy],kw,
510+
{**kwargs,'label':label})
470511
forj,labelinenumerate(labels))
471512

472513
ifreturn_kwargs:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp