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

Commit72888a1

Browse files
authored
Merge pull request#26168 from oscargus/valorrc
Add _val_or_rc-function
2 parents4e988f5 +6e0a5a5 commit72888a1

File tree

8 files changed

+49
-72
lines changed

8 files changed

+49
-72
lines changed

‎lib/matplotlib/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,6 +1294,13 @@ def is_interactive():
12941294
returnrcParams['interactive']
12951295

12961296

1297+
def_val_or_rc(val,rc_name):
1298+
"""
1299+
If *val* is None, return ``mpl.rcParams[rc_name]``, otherwise return val.
1300+
"""
1301+
returnvalifvalisnotNoneelsercParams[rc_name]
1302+
1303+
12971304
def_init_tests():
12981305
# The version of FreeType to install locally for running the
12991306
# tests. This must match the value in `setupext.py`

‎lib/matplotlib/_mathtext.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,11 @@ def to_raster(self):
127127
# old approach and keeps baseline images backcompat.
128128
shifted=ship(self.box, (-xmin,-ymin))
129129

130+
antialiased=mpl.rcParams['text.antialiased']
130131
forox,oy,infoinshifted.glyphs:
131132
info.font.draw_glyph_to_bitmap(
132133
image,ox,oy-info.metrics.iceberg,info.glyph,
133-
antialiased=mpl.rcParams['text.antialiased'])
134+
antialiased=antialiased)
134135
forx1,y1,x2,y2inshifted.rects:
135136
height=max(int(y2-y1)-1,0)
136137
ifheight==0:

‎lib/matplotlib/animation.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,8 @@ class AbstractMovieWriter(abc.ABC):
173173
def__init__(self,fps=5,metadata=None,codec=None,bitrate=None):
174174
self.fps=fps
175175
self.metadata=metadataifmetadataisnotNoneelse {}
176-
self.codec= (
177-
mpl.rcParams['animation.codec']ifcodecisNoneelsecodec)
178-
self.bitrate= (
179-
mpl.rcParams['animation.bitrate']ifbitrateisNoneelsebitrate)
176+
self.codec=mpl._val_or_rc(codec,'animation.codec')
177+
self.bitrate=mpl._val_or_rc(bitrate,'animation.bitrate')
180178

181179
@abc.abstractmethod
182180
defsetup(self,fig,outfile,dpi=None):
@@ -742,10 +740,7 @@ def __init__(self, fps=30, codec=None, bitrate=None, extra_args=None,
742740
default_mode=self.default_mode)
743741

744742
# Save embed limit, which is given in MB
745-
ifembed_limitisNone:
746-
self._bytes_limit=mpl.rcParams['animation.embed_limit']
747-
else:
748-
self._bytes_limit=embed_limit
743+
self._bytes_limit=mpl._val_or_rc(embed_limit,'animation.embed_limit')
749744
# Convert from MB to bytes
750745
self._bytes_limit*=1024*1024
751746

@@ -1038,8 +1033,7 @@ def func(current_frame: int, total_frames: int) -> Any
10381033
fps=1000./self._interval
10391034

10401035
# Re-use the savefig DPI for ours if none is given
1041-
ifdpiisNone:
1042-
dpi=mpl.rcParams['savefig.dpi']
1036+
dpi=mpl._val_or_rc(dpi,'savefig.dpi')
10431037
ifdpi=='figure':
10441038
dpi=self._fig.dpi
10451039

@@ -1277,8 +1271,7 @@ def to_html5_video(self, embed_limit=None):
12771271
# Cache the rendering of the video as HTML
12781272
ifnothasattr(self,'_base64_video'):
12791273
# Save embed limit, which is given in MB
1280-
ifembed_limitisNone:
1281-
embed_limit=mpl.rcParams['animation.embed_limit']
1274+
embed_limit=mpl._val_or_rc(embed_limit,'animation.embed_limit')
12821275

12831276
# Convert from MB to bytes
12841277
embed_limit*=1024*1024

‎lib/matplotlib/axis.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,9 @@ def __init__(
144144
zorder=mlines.Line2D.zorder
145145
self._zorder=zorder
146146

147-
ifgrid_colorisNone:
148-
grid_color=mpl.rcParams["grid.color"]
149-
ifgrid_linestyleisNone:
150-
grid_linestyle=mpl.rcParams["grid.linestyle"]
151-
ifgrid_linewidthisNone:
152-
grid_linewidth=mpl.rcParams["grid.linewidth"]
147+
grid_color=mpl._val_or_rc(grid_color,"grid.color")
148+
grid_linestyle=mpl._val_or_rc(grid_linestyle,"grid.linestyle")
149+
grid_linewidth=mpl._val_or_rc(grid_linewidth,"grid.linewidth")
153150
ifgrid_alphaisNoneandnotmcolors._has_alpha_channel(grid_color):
154151
# alpha precedence: kwarg > color alpha > rcParams['grid.alpha']
155152
# Note: only resolve to rcParams if the color does not have alpha

‎lib/matplotlib/dates.py

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -222,10 +222,9 @@ def _get_tzinfo(tz=None):
222222
Generate `~datetime.tzinfo` from a string or return `~datetime.tzinfo`.
223223
If None, retrieve the preferred timezone from the rcParams dictionary.
224224
"""
225-
iftzisNone:
226-
tz=mpl.rcParams['timezone']
227-
iftz=='UTC':
228-
returnUTC
225+
tz=mpl._val_or_rc(tz,'timezone')
226+
iftz=='UTC':
227+
returnUTC
229228
ifisinstance(tz,str):
230229
tzinfo=dateutil.tz.gettz(tz)
231230
iftzinfoisNone:
@@ -316,8 +315,7 @@ def get_epoch():
316315
"""
317316
global_epoch
318317

319-
if_epochisNone:
320-
_epoch=mpl.rcParams['date.epoch']
318+
_epoch=mpl._val_or_rc(_epoch,'date.epoch')
321319
return_epoch
322320

323321

@@ -645,8 +643,7 @@ def __init__(self, fmt, tz=None, *, usetex=None):
645643
"""
646644
self.tz=_get_tzinfo(tz)
647645
self.fmt=fmt
648-
self._usetex= (usetexifusetexisnotNoneelse
649-
mpl.rcParams['text.usetex'])
646+
self._usetex=mpl._val_or_rc(usetex,'text.usetex')
650647

651648
def__call__(self,x,pos=0):
652649
result=num2date(x,self.tz).strftime(self.fmt)
@@ -783,8 +780,7 @@ def __init__(self, locator, tz=None, formats=None, offset_formats=None,
783780
'%Y-%b-%d %H:%M']
784781
self.offset_string=''
785782
self.show_offset=show_offset
786-
self._usetex= (usetexifusetexisnotNoneelse
787-
mpl.rcParams['text.usetex'])
783+
self._usetex=mpl._val_or_rc(usetex,'text.usetex')
788784

789785
def__call__(self,x,pos=None):
790786
formatter=DateFormatter(self.defaultfmt,self._tz,
@@ -961,8 +957,7 @@ def __init__(self, locator, tz=None, defaultfmt='%Y-%m-%d', *,
961957
self.defaultfmt=defaultfmt
962958
self._formatter=DateFormatter(self.defaultfmt,tz)
963959
rcParams=mpl.rcParams
964-
self._usetex= (usetexifusetexisnotNoneelse
965-
mpl.rcParams['text.usetex'])
960+
self._usetex=mpl._val_or_rc(usetex,'text.usetex')
966961
self.scaled= {
967962
DAYS_PER_YEAR:rcParams['date.autoformatter.year'],
968963
DAYS_PER_MONTH:rcParams['date.autoformatter.month'],

‎lib/matplotlib/image.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -761,10 +761,8 @@ def set_interpolation(self, s):
761761
'spline36', 'hanning', 'hamming', 'hermite', 'kaiser', 'quadric', 'catrom',\
762762
'gaussian', 'bessel', 'mitchell', 'sinc', 'lanczos', 'none'} or None
763763
"""
764-
ifsisNone:
765-
s=mpl.rcParams['image.interpolation']
766-
s=s.lower()
767-
_api.check_in_list(_interpd_,interpolation=s)
764+
s=mpl._val_or_rc(s,'image.interpolation').lower()
765+
_api.check_in_list(interpolations_names,interpolation=s)
768766
self._interpolation=s
769767
self.stale=True
770768

@@ -801,8 +799,7 @@ def set_resample(self, v):
801799
v : bool or None
802800
If None, use :rc:`image.resample`.
803801
"""
804-
ifvisNone:
805-
v=mpl.rcParams['image.resample']
802+
v=mpl._val_or_rc(v,'image.resample')
806803
self._resample=v
807804
self.stale=True
808805

@@ -1602,6 +1599,8 @@ def imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None,
16021599
# size when dividing and then multiplying by dpi.
16031600
iforiginisNone:
16041601
origin=mpl.rcParams["image.origin"]
1602+
else:
1603+
_api.check_in_list(('upper','lower'),origin=origin)
16051604
iforigin=="lower":
16061605
arr=arr[::-1]
16071606
if (isinstance(arr,memoryview)andarr.format=="B"

‎lib/matplotlib/legend.py

Lines changed: 18 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -427,11 +427,7 @@ def __init__(
427427
super().__init__()
428428

429429
ifpropisNone:
430-
iffontsizeisnotNone:
431-
self.prop=FontProperties(size=fontsize)
432-
else:
433-
self.prop=FontProperties(
434-
size=mpl.rcParams["legend.fontsize"])
430+
self.prop=FontProperties(size=mpl._val_or_rc(fontsize,"legend.fontsize"))
435431
else:
436432
self.prop=FontProperties._from_any(prop)
437433
ifisinstance(prop,dict)and"size"notinprop:
@@ -447,20 +443,17 @@ def __init__(
447443
#: instance.
448444
self._custom_handler_map=handler_map
449445

450-
defval_or_rc(val,rc_name):
451-
returnvalifvalisnotNoneelsempl.rcParams[rc_name]
452-
453-
self.numpoints=val_or_rc(numpoints,'legend.numpoints')
454-
self.markerscale=val_or_rc(markerscale,'legend.markerscale')
455-
self.scatterpoints=val_or_rc(scatterpoints,'legend.scatterpoints')
456-
self.borderpad=val_or_rc(borderpad,'legend.borderpad')
457-
self.labelspacing=val_or_rc(labelspacing,'legend.labelspacing')
458-
self.handlelength=val_or_rc(handlelength,'legend.handlelength')
459-
self.handleheight=val_or_rc(handleheight,'legend.handleheight')
460-
self.handletextpad=val_or_rc(handletextpad,'legend.handletextpad')
461-
self.borderaxespad=val_or_rc(borderaxespad,'legend.borderaxespad')
462-
self.columnspacing=val_or_rc(columnspacing,'legend.columnspacing')
463-
self.shadow=val_or_rc(shadow,'legend.shadow')
446+
self.numpoints=mpl._val_or_rc(numpoints,'legend.numpoints')
447+
self.markerscale=mpl._val_or_rc(markerscale,'legend.markerscale')
448+
self.scatterpoints=mpl._val_or_rc(scatterpoints,'legend.scatterpoints')
449+
self.borderpad=mpl._val_or_rc(borderpad,'legend.borderpad')
450+
self.labelspacing=mpl._val_or_rc(labelspacing,'legend.labelspacing')
451+
self.handlelength=mpl._val_or_rc(handlelength,'legend.handlelength')
452+
self.handleheight=mpl._val_or_rc(handleheight,'legend.handleheight')
453+
self.handletextpad=mpl._val_or_rc(handletextpad,'legend.handletextpad')
454+
self.borderaxespad=mpl._val_or_rc(borderaxespad,'legend.borderaxespad')
455+
self.columnspacing=mpl._val_or_rc(columnspacing,'legend.columnspacing')
456+
self.shadow=mpl._val_or_rc(shadow,'legend.shadow')
464457
# trim handles and labels if illegal label...
465458
_lab,_hand= [], []
466459
forlabel,handleinzip(labels,handles):
@@ -536,18 +529,15 @@ def val_or_rc(val, rc_name):
536529
# We use FancyBboxPatch to draw a legend frame. The location
537530
# and size of the box will be updated during the drawing time.
538531

539-
iffacecolorisNone:
540-
facecolor=mpl.rcParams["legend.facecolor"]
532+
facecolor=mpl._val_or_rc(facecolor,"legend.facecolor")
541533
iffacecolor=='inherit':
542534
facecolor=mpl.rcParams["axes.facecolor"]
543535

544-
ifedgecolorisNone:
545-
edgecolor=mpl.rcParams["legend.edgecolor"]
536+
edgecolor=mpl._val_or_rc(edgecolor,"legend.edgecolor")
546537
ifedgecolor=='inherit':
547538
edgecolor=mpl.rcParams["axes.edgecolor"]
548539

549-
iffancyboxisNone:
550-
fancybox=mpl.rcParams["legend.fancybox"]
540+
fancybox=mpl._val_or_rc(fancybox,"legend.fancybox")
551541

552542
self.legendPatch=FancyBboxPatch(
553543
xy=(0,0),width=1,height=1,
@@ -562,8 +552,7 @@ def val_or_rc(val, rc_name):
562552
else"square,pad=0"),
563553
mutation_scale=self._fontsize,
564554
snap=True,
565-
visible=(frameonifframeonisnotNone
566-
elsempl.rcParams["legend.frameon"])
555+
visible=mpl._val_or_rc(frameon,"legend.frameon")
567556
)
568557
self._set_artist_props(self.legendPatch)
569558

@@ -606,11 +595,9 @@ def val_or_rc(val, rc_name):
606595
'markeredgecolor': ['get_markeredgecolor','get_edgecolor'],
607596
'mec': ['get_markeredgecolor','get_edgecolor'],
608597
}
598+
labelcolor=mpl._val_or_rc(labelcolor,'legend.labelcolor')
609599
iflabelcolorisNone:
610-
ifmpl.rcParams['legend.labelcolor']isnotNone:
611-
labelcolor=mpl.rcParams['legend.labelcolor']
612-
else:
613-
labelcolor=mpl.rcParams['text.color']
600+
labelcolor=mpl.rcParams['text.color']
614601
ifisinstance(labelcolor,str)andlabelcolorincolor_getters:
615602
getter_names=color_getters[labelcolor]
616603
forhandle,textinzip(self.legend_handles,self.texts):

‎lib/matplotlib/text.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,10 @@ def _reset_visual_defaults(
172172
antialiased=None
173173
):
174174
self.set_text(text)
175-
self.set_color(
176-
colorifcolorisnotNoneelsempl.rcParams["text.color"])
175+
self.set_color(mpl._val_or_rc(color,"text.color"))
177176
self.set_fontproperties(fontproperties)
178177
self.set_usetex(usetex)
179-
self.set_parse_math(parse_mathifparse_mathisnotNoneelse
180-
mpl.rcParams['text.parse_math'])
178+
self.set_parse_math(mpl._val_or_rc(parse_math,'text.parse_math'))
181179
self.set_wrap(wrap)
182180
self.set_verticalalignment(verticalalignment)
183181
self.set_horizontalalignment(horizontalalignment)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp