7
7
from importlib import import_module
8
8
import copy
9
9
import io
10
- from copy import deepcopy
11
10
import re
12
11
import sys
13
12
@@ -2626,10 +2625,6 @@ def get_trace_class(self, trace_name):
2626
2625
def validate_coerce (self , v , skip_invalid = False , _validate = True ):
2627
2626
from plotly .basedatatypes import BaseTraceType
2628
2627
2629
- # Import Histogram2dcontour, this is the deprecated name of the
2630
- # Histogram2dContour trace.
2631
- from plotly .graph_objs import Histogram2dcontour
2632
-
2633
2628
if v is None :
2634
2629
v = []
2635
2630
else :
@@ -2645,30 +2640,28 @@ def validate_coerce(self, v, skip_invalid=False, _validate=True):
2645
2640
v_el = v_el .to_plotly_json ()
2646
2641
2647
2642
if isinstance (v_el , dict ):
2648
- v_copy = deepcopy (v_el )
2649
-
2650
- if "type" in v_copy :
2651
- trace_type = v_copy .pop ("type" )
2652
- elif isinstance (v_el , Histogram2dcontour ):
2653
- trace_type = "histogram2dcontour"
2654
- else :
2655
- trace_type = "scatter"
2643
+ type_in_v_el = "type" in v_el
2644
+ trace_type = v_el .pop ("type" , "scatter" )
2656
2645
2657
2646
if trace_type not in self .class_strs_map :
2658
2647
if skip_invalid :
2659
2648
# Treat as scatter trace
2660
2649
trace = self .get_trace_class ("scatter" )(
2661
- skip_invalid = skip_invalid , _validate = _validate , ** v_copy
2650
+ skip_invalid = skip_invalid , _validate = _validate , ** v_el
2662
2651
)
2663
2652
res .append (trace )
2664
2653
else :
2665
2654
res .append (None )
2666
2655
invalid_els .append (v_el )
2667
2656
else :
2668
2657
trace = self .get_trace_class (trace_type )(
2669
- skip_invalid = skip_invalid , _validate = _validate , ** v_copy
2658
+ skip_invalid = skip_invalid , _validate = _validate , ** v_el
2670
2659
)
2671
2660
res .append (trace )
2661
+
2662
+ if type_in_v_el :
2663
+ # Restore type in v_el
2664
+ v_el ["type" ] = trace_type
2672
2665
else :
2673
2666
if skip_invalid :
2674
2667
# Add empty scatter trace
0 commit comments