Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 1bf3377

Browse files
committed
Merge pull request #6481 from jenshnielsen/default-boxplot-style-rebase
API: Default boxplot style
2 parents 24c0863 + bb0b94b commit 1bf3377

40 files changed

+704
-818
lines changed

lib/matplotlib/axes/_axes.py

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3364,6 +3364,8 @@ def _update_dict(dictionary, rc_name, properties):
33643364
# filled symbol, if the users want more control use
33653365
# flierprops
33663366
flierprops['color'] = color
3367+
flierprops['markerfacecolor'] = color
3368+
flierprops['markeredgecolor'] = color
33673369

33683370
# replace medians if necessary:
33693371
if usermedians is not None:
@@ -3576,23 +3578,34 @@ def bxp(self, bxpstats, positions=None, widths=None, vert=True,
35763578

35773579
# box properties
35783580
if patch_artist:
3579-
final_boxprops = dict(linestyle='solid', edgecolor='black',
3580-
facecolor='white', linewidth=1)
3581+
final_boxprops = dict(
3582+
linestyle=rcParams['boxplot.boxprops.linestyle'],
3583+
edgecolor=rcParams['boxplot.boxprops.color'],
3584+
facecolor=rcParams['patch.facecolor'],
3585+
linewidth=rcParams['boxplot.boxprops.linewidth']
3586+
)
3587+
if rcParams['_internal.classic_mode']:
3588+
final_boxprops['facecolor'] = 'white'
35813589
else:
3582-
final_boxprops = dict(linestyle='-', color='blue')
3590+
final_boxprops = dict(
3591+
linestyle=rcParams['boxplot.boxprops.linestyle'],
3592+
color=rcParams['boxplot.boxprops.color'],
3593+
)
35833594

35843595
if boxprops is not None:
35853596
final_boxprops.update(boxprops)
35863597

35873598
# other (cap, whisker) properties
35883599
final_whiskerprops = dict(
3589-
linestyle='--',
3590-
color='blue',
3600+
linestyle=rcParams['boxplot.whiskerprops.linestyle'],
3601+
linewidth=rcParams['boxplot.whiskerprops.linewidth'],
3602+
color=rcParams['boxplot.whiskerprops.color'],
35913603
)
35923604

35933605
final_capprops = dict(
3594-
linestyle='-',
3595-
color='black',
3606+
linestyle=rcParams['boxplot.capprops.linestyle'],
3607+
linewidth=rcParams['boxplot.capprops.linewidth'],
3608+
color=rcParams['boxplot.capprops.color'],
35963609
)
35973610

35983611
if capprops is not None:
@@ -3602,23 +3615,44 @@ def bxp(self, bxpstats, positions=None, widths=None, vert=True,
36023615
final_whiskerprops.update(whiskerprops)
36033616

36043617
# set up the default flier properties
3605-
final_flierprops = dict(linestyle='none', marker='+', color='blue')
3618+
final_flierprops = dict(
3619+
linestyle=rcParams['boxplot.flierprops.linestyle'],
3620+
linewidth=rcParams['boxplot.flierprops.linewidth'],
3621+
color=rcParams['boxplot.flierprops.color'],
3622+
marker=rcParams['boxplot.flierprops.marker'],
3623+
markerfacecolor=rcParams['boxplot.flierprops.markerfacecolor'],
3624+
markeredgecolor=rcParams['boxplot.flierprops.markeredgecolor'],
3625+
markersize=rcParams['boxplot.flierprops.markersize'],
3626+
)
36063627

36073628
# flier (outlier) properties
36083629
if flierprops is not None:
36093630
final_flierprops.update(flierprops)
36103631

36113632
# median line properties
3612-
final_medianprops = dict(linestyle='-', color='red')
3633+
final_medianprops = dict(
3634+
linestyle=rcParams['boxplot.medianprops.linestyle'],
3635+
linewidth=rcParams['boxplot.medianprops.linewidth'],
3636+
color=rcParams['boxplot.medianprops.color'],
3637+
)
36133638
if medianprops is not None:
36143639
final_medianprops.update(medianprops)
36153640

36163641
# mean (line or point) properties
36173642
if meanline:
3618-
final_meanprops = dict(linestyle='--', color='black')
3643+
final_meanprops = dict(
3644+
linestyle=rcParams['boxplot.meanprops.linestyle'],
3645+
linewidth=rcParams['boxplot.meanprops.linewidth'],
3646+
color=rcParams['boxplot.meanprops.color'],
3647+
)
36193648
else:
3620-
final_meanprops = dict(linestyle='none', markerfacecolor='red',
3621-
marker='s')
3649+
final_meanprops = dict(
3650+
linestyle='',
3651+
marker=rcParams['boxplot.meanprops.marker'],
3652+
markerfacecolor=rcParams['boxplot.meanprops.markerfacecolor'],
3653+
markeredgecolor=rcParams['boxplot.meanprops.markeredgecolor'],
3654+
markersize=rcParams['boxplot.meanprops.markersize'],
3655+
)
36223656
if meanprops is not None:
36233657
final_meanprops.update(meanprops)
36243658

lib/matplotlib/mpl-data/stylelib/classic.mplstyle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,10 @@ boxplot.meanprops.color: r
348348
boxplot.meanprops.linestyle: -
349349
boxplot.meanprops.linewidth: 1.0
350350
boxplot.medianprops.color: r
351+
boxplot.meanprops.marker: s
352+
boxplot.meanprops.markerfacecolor: r
353+
boxplot.meanprops.markeredgecolor: k
354+
boxplot.meanprops.markersize: 6.0
351355
boxplot.medianprops.linestyle: -
352356
boxplot.medianprops.linewidth: 1.0
353357
boxplot.notch: False

lib/matplotlib/rcsetup.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -941,21 +941,21 @@ def validate_animation_writer_path(p):
941941
'boxplot.showfliers': [True, validate_bool],
942942
'boxplot.meanline': [False, validate_bool],
943943

944-
'boxplot.flierprops.color': ['C0', validate_color],
945-
'boxplot.flierprops.marker': ['+', six.text_type],
946-
'boxplot.flierprops.markerfacecolor': ['auto', validate_color_or_auto],
944+
'boxplot.flierprops.color': ['k', validate_color],
945+
'boxplot.flierprops.marker': ['o', six.text_type],
946+
'boxplot.flierprops.markerfacecolor': ['none', validate_color_or_auto],
947947
'boxplot.flierprops.markeredgecolor': ['k', validate_color],
948948
'boxplot.flierprops.markersize': [6, validate_float],
949949
'boxplot.flierprops.linestyle': ['none', six.text_type],
950950
'boxplot.flierprops.linewidth': [1.0, validate_float],
951951

952-
'boxplot.boxprops.color': ['C0', validate_color],
952+
'boxplot.boxprops.color': ['k', validate_color],
953953
'boxplot.boxprops.linewidth': [1.0, validate_float],
954954
'boxplot.boxprops.linestyle': ['-', six.text_type],
955955

956-
'boxplot.whiskerprops.color': ['C0', validate_color],
956+
'boxplot.whiskerprops.color': ['k', validate_color],
957957
'boxplot.whiskerprops.linewidth': [1.0, validate_float],
958-
'boxplot.whiskerprops.linestyle': ['--', six.text_type],
958+
'boxplot.whiskerprops.linestyle': ['-', six.text_type],
959959

960960
'boxplot.capprops.color': ['k', validate_color],
961961
'boxplot.capprops.linewidth': [1.0, validate_float],
@@ -965,9 +965,13 @@ def validate_animation_writer_path(p):
965965
'boxplot.medianprops.linewidth': [1.0, validate_float],
966966
'boxplot.medianprops.linestyle': ['-', six.text_type],
967967

968-
'boxplot.meanprops.color': ['C3', validate_color],
968+
'boxplot.meanprops.color': ['C2', validate_color],
969+
'boxplot.meanprops.marker': ['^', six.text_type],
970+
'boxplot.meanprops.markerfacecolor': ['C2', validate_color],
971+
'boxplot.meanprops.markeredgecolor': ['C2', validate_color],
972+
'boxplot.meanprops.markersize': [6, validate_float],
973+
'boxplot.meanprops.linestyle': ['--', six.text_type],
969974
'boxplot.meanprops.linewidth': [1.0, validate_float],
970-
'boxplot.meanprops.linestyle': ['-', six.text_type],
971975

972976
## font props
973977
'font.family': [['sans-serif'], validate_stringlist], # used by text object
Binary file not shown.
Loading

0 commit comments

Comments
 (0)