From bea0f54582598ec92e6bac8fad53d2ebd644a217 Mon Sep 17 00:00:00 2001 From: Philipp Rudiger Date: Thu, 29 Nov 2018 12:28:09 +0000 Subject: [PATCH] Ensure 3d elements are initialized with 3D projection (#3218) --- holoviews/plotting/plot.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/holoviews/plotting/plot.py b/holoviews/plotting/plot.py index f374ed9a90..2afd214cb0 100644 --- a/holoviews/plotting/plot.py +++ b/holoviews/plotting/plot.py @@ -13,7 +13,7 @@ from ..core import OrderedDict from ..core import util, traversal -from ..core.element import Element +from ..core.element import Element, Element3D from ..core.overlay import Overlay, CompositeOverlay from ..core.layout import Empty, NdLayout, Layout from ..core.options import Store, Compositor, SkipRendering @@ -575,6 +575,9 @@ def _get_projection(cls, obj): type is found an exception is raised. """ isoverlay = lambda x: isinstance(x, CompositeOverlay) + element3d = obj.traverse(lambda x: x, [Element3D]) + if element3d: + return '3d' opts = cls._traverse_options(obj, 'plot', ['projection'], [CompositeOverlay, Element], keyfn=isoverlay)