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

Commit 84f4e66

Browse files
authored
Merge pull request #4865 from plotly/fix-bar-charts
Do not assign `offsetgroup` to traces in px unless `barmode="group"`
2 parents 2bc6a0f + 48b8d06 commit 84f4e66

File tree

1 file changed

+10
-10
lines changed
  • packages/python/plotly/plotly/express

1 file changed

+10
-10
lines changed

‎packages/python/plotly/plotly/express/_core.py‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -652,9 +652,6 @@ def set_cartesian_axis_opts(args, axis, letter, orders):
652652

653653

654654
def configure_cartesian_marginal_axes(args, fig, orders):
655-
if "histogram" in [args["marginal_x"], args["marginal_y"]]:
656-
fig.layout["barmode"] = "overlay"
657-
658655
nrows = len(fig._grid_ref)
659656
ncols = len(fig._grid_ref[0])
660657

@@ -1497,17 +1494,14 @@ def build_dataframe(args, constructor):
14971494
# If data_frame is provided, we parse it into a narwhals DataFrame, while accounting
14981495
# for compatibility with pandas specific paths (e.g. Index/MultiIndex case).
14991496
if df_provided:
1500-
15011497
# data_frame is pandas-like DataFrame (pandas, modin.pandas, cudf)
15021498
if nw.dependencies.is_pandas_like_dataframe(args["data_frame"]):
1503-
15041499
columns = args["data_frame"].columns # This can be multi index
15051500
args["data_frame"] = nw.from_native(args["data_frame"], eager_only=True)
15061501
is_pd_like = True
15071502

15081503
# data_frame is pandas-like Series (pandas, modin.pandas, cudf)
15091504
elif nw.dependencies.is_pandas_like_series(args["data_frame"]):
1510-
15111505
args["data_frame"] = nw.from_native(
15121506
args["data_frame"], series_only=True
15131507
).to_frame()
@@ -1861,7 +1855,6 @@ def _check_dataframe_all_leaves(df: nw.DataFrame) -> None:
18611855
for row_idx, row in zip(
18621856
null_indices_mask, null_mask.filter(null_indices_mask).iter_rows()
18631857
):
1864-
18651858
i = row.index(True)
18661859

18671860
if not all(row[i:]):
@@ -1990,7 +1983,6 @@ def process_dataframe_hierarchy(args):
19901983

19911984
if args["color"]:
19921985
if discrete_color:
1993-
19941986
discrete_aggs.append(args["color"])
19951987
agg_f[args["color"]] = nw.col(args["color"]).max()
19961988
agg_f[f'{args["color"]}{n_unique_token}'] = (
@@ -2045,7 +2037,6 @@ def post_agg(dframe: nw.LazyFrame, continuous_aggs, discrete_aggs) -> nw.LazyFra
20452037
).drop([f"{col}{n_unique_token}" for col in discrete_aggs])
20462038

20472039
for i, level in enumerate(path):
2048-
20492040
dfg = (
20502041
df.group_by(path[i:], drop_null_keys=True)
20512042
.agg(**agg_f)
@@ -2487,6 +2478,10 @@ def make_figure(args, constructor, trace_patch=None, layout_patch=None):
24872478
constructor = go.Bar
24882479
args = process_dataframe_timeline(args)
24892480

2481+
# If we have marginal histograms, set barmode to "overlay"
2482+
if "histogram" in [args.get("marginal_x"), args.get("marginal_y")]:
2483+
layout_patch["barmode"] = "overlay"
2484+
24902485
trace_specs, grouped_mappings, sizeref, show_colorbar = infer_config(
24912486
args, constructor, trace_patch, layout_patch
24922487
)
@@ -2558,7 +2553,12 @@ def make_figure(args, constructor, trace_patch=None, layout_patch=None):
25582553
legendgroup=trace_name,
25592554
showlegend=(trace_name != "" and trace_name not in trace_names),
25602555
)
2561-
if trace_spec.constructor in [go.Bar, go.Violin, go.Box, go.Histogram]:
2556+
2557+
# Set 'offsetgroup' only in group barmode (or if no barmode is set)
2558+
barmode = layout_patch.get("barmode")
2559+
if trace_spec.constructor in [go.Bar, go.Box, go.Violin, go.Histogram] and (
2560+
barmode == "group" or barmode is None
2561+
):
25622562
trace.update(alignmentgroup=True, offsetgroup=trace_name)
25632563
trace_names.add(trace_name)
25642564

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /