Moreover, these figures should have a shared x-range (time).
However, if I try to create a callback based on relayout property of figure 1 to update figure 2, dash throws an error of Overlapping outputs. I also tried client side callback but dash also complain on overlapping.
It might. It does not discuss the overlapping output issue explicitly, but I see implicitly that it uses the div container for the figure output and a different output (the figure it self) when updating zoom