Skip to content
This repository was archived by the owner on Jun 3, 2024. It is now read-only.

Commit 53dd0fb

Browse files
final frame order enforcement, #23
1 parent 7b45256 commit 53dd0fb

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

plotly_express/_core.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ def make_figure(args, constructor, trace_patch={}, layout_patch={}):
813813
if m.show_in_trace_name:
814814
trace_name_labels[key] = str(val)
815815
if m.variable == "animation_frame":
816-
frame_name = str(val)
816+
frame_name = val
817817
trace_name = ", ".join(k + "=" + v for k, v in trace_name_labels.items())
818818
if frame_name not in trace_names_by_frame:
819819
trace_names_by_frame[frame_name] = set()
@@ -892,7 +892,11 @@ def make_figure(args, constructor, trace_patch={}, layout_patch={}):
892892
if frame_name not in frames:
893893
frames[frame_name] = dict(data=[], name=frame_name)
894894
frames[frame_name]["data"].append(trace)
895-
frame_list = [f for _, f in frames.items()]
895+
frame_list = [f for f in frames.values()]
896+
if len(frame_list) > 1:
897+
frame_list = sorted(
898+
frame_list, key=lambda f: orders[args["animation_frame"]].index(f["name"])
899+
)
896900
layout_patch = layout_patch.copy()
897901
for v in ["title", "height", "width", "template"]:
898902
if args[v]:

0 commit comments

Comments
 (0)