7
7
import unittest .mock as mock
8
8
from plotly .express ._core import build_dataframe
9
9
from pandas .testing import assert_frame_equal
10
- from plotly .tests .b64 import b64 , _b64
11
10
import sys
12
11
import warnings
13
12
@@ -29,9 +28,8 @@ def add_interchange_module_for_old_pandas():
29
28
30
29
def test_numpy ():
31
30
fig = px .scatter (x = [1 , 2 , 3 ], y = [2 , 3 , 4 ], color = [1 , 3 , 9 ])
32
-
33
- assert np .all (fig .data [0 ].x == b64 (np .array ([1 , 2 , 3 ])))
34
- assert np .all (fig .data [0 ].y == b64 (np .array ([2 , 3 , 4 ])))
31
+ assert np .all (fig .data [0 ].x == np .array ([1 , 2 , 3 ]))
32
+ assert np .all (fig .data [0 ].y == np .array ([2 , 3 , 4 ]))
35
33
assert np .all (fig .data [0 ].marker .color == np .array ([1 , 3 , 9 ]))
36
34
37
35
@@ -103,16 +101,16 @@ def test_several_dataframes():
103
101
df = pd .DataFrame (dict (x = [0 , 1 ], y = [3 , 4 ]))
104
102
df2 = pd .DataFrame (dict (x = [3 , 5 ], y = [23 , 24 ]))
105
103
fig = px .scatter (x = df .y , y = df2 .y )
106
- assert np .all (fig .data [0 ].x == b64 ( np .array ([3 , 4 ]) ))
107
- assert np .all (fig .data [0 ].y == b64 ( np .array ([23 , 24 ]) ))
104
+ assert np .all (fig .data [0 ].x == np .array ([3 , 4 ]))
105
+ assert np .all (fig .data [0 ].y == np .array ([23 , 24 ]))
108
106
assert fig .data [0 ].hovertemplate == "x=%{x}<br>y=%{y}<extra></extra>"
109
107
110
108
df = pd .DataFrame (dict (x = [0 , 1 ], y = [3 , 4 ]))
111
109
df2 = pd .DataFrame (dict (x = [3 , 5 ], y = [23 , 24 ]))
112
110
df3 = pd .DataFrame (dict (y = [0.1 , 0.2 ]))
113
111
fig = px .scatter (x = df .y , y = df2 .y , size = df3 .y )
114
- assert np .all (fig .data [0 ].x == b64 ( np .array ([3 , 4 ]) ))
115
- assert np .all (fig .data [0 ].y == b64 ( np .array ([23 , 24 ]) ))
112
+ assert np .all (fig .data [0 ].x == np .array ([3 , 4 ]))
113
+ assert np .all (fig .data [0 ].y == np .array ([23 , 24 ]))
116
114
assert (
117
115
fig .data [0 ].hovertemplate
118
116
== "x=%{x}<br>y=%{y}<br>size=%{marker.size}<extra></extra>"
@@ -122,8 +120,8 @@ def test_several_dataframes():
122
120
df2 = pd .DataFrame (dict (x = [3 , 5 ], y = [23 , 24 ]))
123
121
df3 = pd .DataFrame (dict (y = [0.1 , 0.2 ]))
124
122
fig = px .scatter (x = df .y , y = df2 .y , hover_data = [df3 .y ])
125
- assert np .all (fig .data [0 ].x == b64 ( np .array ([3 , 4 ]) ))
126
- assert np .all (fig .data [0 ].y == b64 ( np .array ([23 , 24 ]) ))
123
+ assert np .all (fig .data [0 ].x == np .array ([3 , 4 ]))
124
+ assert np .all (fig .data [0 ].y == np .array ([23 , 24 ]))
127
125
assert (
128
126
fig .data [0 ].hovertemplate
129
127
== "x=%{x}<br>y=%{y}<br>hover_data_0=%{customdata[0]}<extra></extra>"
@@ -133,8 +131,8 @@ def test_several_dataframes():
133
131
def test_name_heuristics ():
134
132
df = pd .DataFrame (dict (x = [0 , 1 ], y = [3 , 4 ], z = [0.1 , 0.2 ]))
135
133
fig = px .scatter (df , x = df .y , y = df .x , size = df .y )
136
- assert np .all (fig .data [0 ].x == b64 ( np .array ([3 , 4 ]) ))
137
- assert np .all (fig .data [0 ].y == b64 ( np .array ([0 , 1 ]) ))
134
+ assert np .all (fig .data [0 ].x == np .array ([3 , 4 ]))
135
+ assert np .all (fig .data [0 ].y == np .array ([0 , 1 ]))
138
136
assert fig .data [0 ].hovertemplate == "y=%{marker.size}<br>x=%{y}<extra></extra>"
139
137
140
138
@@ -407,27 +405,27 @@ def test_splom_case():
407
405
assert len (fig .data [0 ].dimensions ) == len (iris .columns )
408
406
dic = {"a" : [1 , 2 , 3 ], "b" : [4 , 5 , 6 ], "c" : [7 , 8 , 9 ]}
409
407
fig = px .scatter_matrix (dic )
410
- assert np .all (fig .data [0 ].dimensions [0 ].values == b64 ( np .array (dic ["a" ]) ))
408
+ assert np .all (fig .data [0 ].dimensions [0 ].values == np .array (dic ["a" ]))
411
409
ar = np .arange (9 ).reshape ((3 , 3 ))
412
410
fig = px .scatter_matrix (ar )
413
- assert np .all (fig .data [0 ].dimensions [0 ].values == b64 ( ar [:, 0 ]) )
411
+ assert np .all (fig .data [0 ].dimensions [0 ].values == ar [:, 0 ])
414
412
415
413
416
414
def test_int_col_names ():
417
415
# DataFrame with int column names
418
416
lengths = pd .DataFrame (np .random .random (100 ))
419
417
fig = px .histogram (lengths , x = 0 )
420
- assert np .all (b64 ( np .array (lengths ).flatten () ) == fig .data [0 ].x )
418
+ assert np .all (np .array (lengths ).flatten () == fig .data [0 ].x )
421
419
# Numpy array
422
420
ar = np .arange (100 ).reshape ((10 , 10 ))
423
421
fig = px .scatter (ar , x = 2 , y = 8 )
424
- assert np .all (fig .data [0 ].x == b64 ( ar [:, 2 ]) )
422
+ assert np .all (fig .data [0 ].x == ar [:, 2 ])
425
423
426
424
427
425
def test_data_frame_from_dict ():
428
426
fig = px .scatter ({"time" : [0 , 1 ], "money" : [1 , 2 ]}, x = "time" , y = "money" )
429
427
assert fig .data [0 ].hovertemplate == "time=%{x}<br>money=%{y}<extra></extra>"
430
- assert np .all (fig .data [0 ].x == _b64 ( [0 , 1 ]) )
428
+ assert np .all (fig .data [0 ].x == [0 , 1 ])
431
429
432
430
433
431
def test_arguments_not_modified ():
@@ -491,11 +489,13 @@ def test_identity_map():
491
489
492
490
def test_constants ():
493
491
fig = px .scatter (x = px .Constant (1 ), y = [1 , 2 ])
494
- assert fig .data [0 ].x == _b64 ([1 , 1 ])
492
+ assert fig .data [0 ].x [0 ] == 1
493
+ assert fig .data [0 ].x [1 ] == 1
495
494
assert "x=" in fig .data [0 ].hovertemplate
496
495
497
496
fig = px .scatter (x = px .Constant (1 , label = "time" ), y = [1 , 2 ])
498
- assert fig .data [0 ].x == _b64 ([1 , 1 ])
497
+ assert fig .data [0 ].x [0 ] == 1
498
+ assert fig .data [0 ].x [1 ] == 1
499
499
assert "x=" not in fig .data [0 ].hovertemplate
500
500
assert "time=" in fig .data [0 ].hovertemplate
501
501
@@ -519,12 +519,15 @@ def test_constants():
519
519
520
520
def test_ranges ():
521
521
fig = px .scatter (x = px .Range (), y = [1 , 2 ], hover_data = [px .Range ()])
522
- assert fig .data [0 ].x == _b64 ([0 , 1 ])
523
- assert fig .data [0 ].customdata == _b64 ([[0 ], [1 ]])
522
+ assert fig .data [0 ].x [0 ] == 0
523
+ assert fig .data [0 ].x [1 ] == 1
524
+ assert fig .data [0 ].customdata [0 ][0 ] == 0
525
+ assert fig .data [0 ].customdata [1 ][0 ] == 1
524
526
assert "x=" in fig .data [0 ].hovertemplate
525
527
526
528
fig = px .scatter (x = px .Range (label = "time" ), y = [1 , 2 ])
527
- assert fig .data [0 ].x == _b64 ([0 , 1 ])
529
+ assert fig .data [0 ].x [0 ] == 0
530
+ assert fig .data [0 ].x [1 ] == 1
528
531
assert "x=" not in fig .data [0 ].hovertemplate
529
532
assert "time=" in fig .data [0 ].hovertemplate
530
533
@@ -614,55 +617,55 @@ def test_x_or_y(fn):
614
617
categorical_df = pd .DataFrame (dict (col = categorical ), index = index )
615
618
616
619
fig = fn (x = numerical )
617
- assert fig .data [0 ].x == _b64 ( numerical )
618
- assert fig .data [0 ].y == _b64 ( range_4 )
620
+ assert list ( fig .data [0 ].x ) == numerical
621
+ assert list ( fig .data [0 ].y ) == range_4
619
622
assert fig .data [0 ].orientation == "h"
620
623
fig = fn (y = numerical )
621
- assert fig .data [0 ].x == _b64 ( range_4 )
622
- assert fig .data [0 ].y == _b64 ( numerical )
624
+ assert list ( fig .data [0 ].x ) == range_4
625
+ assert list ( fig .data [0 ].y ) == numerical
623
626
assert fig .data [0 ].orientation == "v"
624
627
fig = fn (numerical_df , x = "col" )
625
- assert fig .data [0 ].x == _b64 ( numerical )
626
- assert fig .data [0 ].y == _b64 ( index )
628
+ assert list ( fig .data [0 ].x ) == numerical
629
+ assert list ( fig .data [0 ].y ) == index
627
630
assert fig .data [0 ].orientation == "h"
628
631
fig = fn (numerical_df , y = "col" )
629
- assert fig .data [0 ].x == _b64 ( index )
630
- assert fig .data [0 ].y == _b64 ( numerical )
632
+ assert list ( fig .data [0 ].x ) == index
633
+ assert list ( fig .data [0 ].y ) == numerical
631
634
assert fig .data [0 ].orientation == "v"
632
635
633
636
if fn != px .bar :
634
637
fig = fn (x = categorical )
635
638
assert list (fig .data [0 ].x ) == categorical
636
- assert fig .data [0 ].y == _b64 ( range_4 )
639
+ assert list ( fig .data [0 ].y ) == range_4
637
640
assert fig .data [0 ].orientation == "h"
638
641
fig = fn (y = categorical )
639
- assert fig .data [0 ].x == _b64 ( range_4 )
642
+ assert list ( fig .data [0 ].x ) == range_4
640
643
assert list (fig .data [0 ].y ) == categorical
641
644
assert fig .data [0 ].orientation == "v"
642
645
fig = fn (categorical_df , x = "col" )
643
646
assert list (fig .data [0 ].x ) == categorical
644
- assert fig .data [0 ].y == _b64 ( index )
647
+ assert list ( fig .data [0 ].y ) == index
645
648
assert fig .data [0 ].orientation == "h"
646
649
fig = fn (categorical_df , y = "col" )
647
- assert fig .data [0 ].x == _b64 ( index )
650
+ assert list ( fig .data [0 ].x ) == index
648
651
assert list (fig .data [0 ].y ) == categorical
649
652
assert fig .data [0 ].orientation == "v"
650
653
651
654
else :
652
655
fig = fn (x = categorical )
653
656
assert list (fig .data [0 ].x ) == categorical
654
- assert fig .data [0 ].y == _b64 ( constant )
657
+ assert list ( fig .data [0 ].y ) == constant
655
658
assert fig .data [0 ].orientation == "v"
656
659
fig = fn (y = categorical )
657
- assert fig .data [0 ].x == _b64 ( constant )
660
+ assert list ( fig .data [0 ].x ) == constant
658
661
assert list (fig .data [0 ].y ) == categorical
659
662
assert fig .data [0 ].orientation == "h"
660
663
fig = fn (categorical_df , x = "col" )
661
664
assert list (fig .data [0 ].x ) == categorical
662
- assert fig .data [0 ].y == _b64 ( constant )
665
+ assert list ( fig .data [0 ].y ) == constant
663
666
assert fig .data [0 ].orientation == "v"
664
667
fig = fn (categorical_df , y = "col" )
665
- assert fig .data [0 ].x == _b64 ( constant )
668
+ assert list ( fig .data [0 ].x ) == constant
666
669
assert list (fig .data [0 ].y ) == categorical
667
670
assert fig .data [0 ].orientation == "h"
668
671
0 commit comments