@@ -58,25 +58,35 @@ def test_pie_like_px():
58
58
59
59
def test_pie_custom_category_order (constructor ):
60
60
# https://github.com/plotly/plotly.py/issues/4999
61
- df = constructor (
62
- {
63
- "status" : ["On Route" , "Pending" , "Waiting Result" , "Delivered" ],
64
- "count" : [28 , 10 , 73 , 8 ],
65
- }
66
- )
61
+ data = {
62
+ "status" : ["On Route" , "Pending" , "Waiting Result" , "Delivered" ],
63
+ "count" : [28 , 10 , 73 , 8 ],
64
+ }
65
+ df = constructor (data )
67
66
custom_order = ["Pending" , "Waiting Result" , "On Route" , "Delivered" ]
68
67
result = px .pie (
69
68
data_frame = df ,
70
69
values = "count" ,
71
70
names = "status" ,
72
71
category_orders = {"status" : custom_order },
73
- ). to_dict ()
74
- assert list (result ["data" ][0 ]["labels" ]) == [
72
+ )
73
+ assert list (result . to_dict () ["data" ][0 ]["labels" ]) == [
75
74
"Pending" ,
76
75
"Waiting Result" ,
77
76
"On Route" ,
78
77
"Delivered" ,
79
78
]
79
+ values_ = np .array (
80
+ [
81
+ x [0 ]
82
+ for x in sorted (
83
+ zip (data ["count" ], data ["status" ]),
84
+ key = lambda t : custom_order .index (t [1 ]),
85
+ )
86
+ ]
87
+ )
88
+ trace = go .Pie (values = values_ , labels = custom_order )
89
+ _compare_figures (trace , result )
80
90
81
91
82
92
def test_sunburst_treemap_colorscales ():
0 commit comments