@@ -652,8 +652,6 @@ def set_cartesian_axis_opts(args, axis, letter, orders):
652
652
653
653
654
654
def configure_cartesian_marginal_axes (args , fig , orders ):
655
- if "histogram" in [args ["marginal_x" ], args ["marginal_y" ]]:
656
- fig .layout ["barmode" ] = "overlay"
657
655
658
656
nrows = len (fig ._grid_ref )
659
657
ncols = len (fig ._grid_ref [0 ])
@@ -2147,6 +2145,9 @@ def process_dataframe_timeline(args):
2147
2145
args ["x" ] = args ["x_end" ]
2148
2146
args ["base" ] = args ["x_start" ]
2149
2147
del args ["x_start" ], args ["x_end" ]
2148
+
2149
+ args ["barmode" ] = "relative"
2150
+
2150
2151
return args
2151
2152
2152
2153
@@ -2558,8 +2559,13 @@ def make_figure(args, constructor, trace_patch=None, layout_patch=None):
2558
2559
legendgroup = trace_name ,
2559
2560
showlegend = (trace_name != "" and trace_name not in trace_names ),
2560
2561
)
2562
+
2563
+ # With marginal histogram, if barmode is not set, set to "overlay"
2564
+ if "histogram" in [args .get ("marginal_x" ), args .get ("marginal_y" )] and "barmode" not in args :
2565
+ layout_patch ["barmode" ] = "overlay"
2566
+
2561
2567
# Set 'offsetgroup' only in group barmode (or if no barmode is set)
2562
- barmode = args .get ("barmode" )
2568
+ barmode = args .get ("barmode" ) or layout_patch . get ( "barmode" )
2563
2569
if (
2564
2570
trace_spec .constructor in [go .Bar , go .Box , go .Violin , go .Histogram ]
2565
2571
and (barmode == "group" or barmode is None )
0 commit comments