From a5d134b1e10436e7b2e611ea95d208c758db65f6 Mon Sep 17 00:00:00 2001
From: Philipp Rudiger
Date: Wed, 9 Mar 2016 22:57:51 +0000
Subject: [PATCH] Improved GridColumns validation
---
holoviews/core/data.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/holoviews/core/data.py b/holoviews/core/data.py
index 62d3a375b3..aa9be65eb6 100644
--- a/holoviews/core/data.py
+++ b/holoviews/core/data.py
@@ -1352,6 +1352,18 @@ def reshape(cls, eltype, data, kdims, vdims):
if vdims is None:
vdims = eltype.vdims
+ if not vdims:
+ raise ValueError('GridColumns interface requires at least '
+ 'one value dimension.')
+
+ dimensions = [d.name if isinstance(d, Dimension) else
+ d for d in kdims + vdims]
+ if isinstance(data, tuple):
+ data = {d: v for d, v in zip(dimensions, data)}
+ else):
+ raise ValueError('GridColumns must be instantiated as a '
+ 'dictionary or tuple')
+
if 'vdims' in data:
vdim_array = data.pop('vdims')
for i, vdim in enumerate(vdims):