From 0af50d68f65be034c1702851fb32c0a7243e09fd Mon Sep 17 00:00:00 2001
From: Philipp Rudiger
Date: Wed, 20 Apr 2016 22:28:13 +0100
Subject: [PATCH 1/3] Fixed seaborn plot axis labels
---
holoviews/plotting/mpl/seaborn.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/holoviews/plotting/mpl/seaborn.py b/holoviews/plotting/mpl/seaborn.py
index fd48d09c18..caaace694b 100644
--- a/holoviews/plotting/mpl/seaborn.py
+++ b/holoviews/plotting/mpl/seaborn.py
@@ -147,7 +147,7 @@ def get_data(self, element, ranges, style):
style.pop('zorder', None)
if self.invert_axes:
style['vertical'] = True
- axis_kwargs = dict(xlabel='', ylabel=str(element.get_dimension(0)))
+ axis_kwargs = dict(dimensions=[element.get_dimension(0)])
return (element.dimension_values(0),), style, axis_kwargs
def init_artists(self, ax, plot_data, plot_kwargs):
From 738a8f9987d4944e34c753c848306fc006d10ac1 Mon Sep 17 00:00:00 2001
From: Philipp Rudiger
Date: Wed, 20 Apr 2016 22:38:31 +0100
Subject: [PATCH 2/3] Fixed Distribution conversion method
---
holoviews/element/__init__.py | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/holoviews/element/__init__.py b/holoviews/element/__init__.py
index 3312b5651c..fea3de9751 100644
--- a/holoviews/element/__init__.py
+++ b/holoviews/element/__init__.py
@@ -31,18 +31,24 @@ def curve(self, kdims=None, vdims=None, mdims=None, **kwargs):
def errorbars(self, kdims=None, vdims=None, mdims=None, **kwargs):
return self(ErrorBars, kdims, vdims, mdims, sort=True, **kwargs)
- def distribution(self, dim, mdims=[], **kwargs):
+ def distribution(self, dim=None, mdims=[], **kwargs):
from ..interface.seaborn import Distribution
+ if dim is None:
+ if self._element.vdims:
+ dim = self._element.vdims[0]
+ else:
+ raise Exception('Must supply an explicit value dimension '
+ 'if no value dimensions are defined ')
if mdims:
- reindexed = self._table.reindex(mdims+[dim])
+ reindexed = self._element.reindex(mdims, [dim])
return reindexed.groupby(mdims, HoloMap, Distribution, **kwargs)
else:
- table = self._table
- params = dict(kdims=[table.get_dimension(dim)],
- label=table.label)
- if table.group != table.params()['group'].default:
- params['group'] = table.group
- return Distribution((table.dimension_values(dim),),
+ element = self._element
+ params = dict(vdims=[element.get_dimension(dim)],
+ label=element.label)
+ if element.group != element.params()['group'].default:
+ params['group'] = element.group
+ return Distribution((element.dimension_values(dim),),
**dict(params, **kwargs))
def heatmap(self, kdims=None, vdims=None, mdims=None, **kwargs):
From c6b1a2382ed91cd13e399c501cf23d6087df9faa Mon Sep 17 00:00:00 2001
From: Philipp Rudiger
Date: Wed, 20 Apr 2016 22:46:17 +0100
Subject: [PATCH 3/3] Fixes to Distribution dimensions
---
holoviews/interface/seaborn.py | 4 ++--
holoviews/plotting/mpl/seaborn.py | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/holoviews/interface/seaborn.py b/holoviews/interface/seaborn.py
index 89da0d250d..3c937568ac 100644
--- a/holoviews/interface/seaborn.py
+++ b/holoviews/interface/seaborn.py
@@ -93,11 +93,11 @@ class Distribution(Chart):
list. Internally it uses Seaborn to make all the conversions.
"""
- kdims = param.List(default=[], bounds=(0,0))
+ kdims = param.List(default=[])
group = param.String(default='Distribution', constant=True)
- vdims = param.List(default=[Dimension('Frequency')])
+ vdims = param.List(default=[Dimension('Value')])
_1d = True
diff --git a/holoviews/plotting/mpl/seaborn.py b/holoviews/plotting/mpl/seaborn.py
index caaace694b..4a9fdb6ada 100644
--- a/holoviews/plotting/mpl/seaborn.py
+++ b/holoviews/plotting/mpl/seaborn.py
@@ -147,8 +147,9 @@ def get_data(self, element, ranges, style):
style.pop('zorder', None)
if self.invert_axes:
style['vertical'] = True
- axis_kwargs = dict(dimensions=[element.get_dimension(0)])
- return (element.dimension_values(0),), style, axis_kwargs
+ vdim = element.vdims[0]
+ axis_kwargs = dict(dimensions=[vdim])
+ return (element.dimension_values(vdim),), style, axis_kwargs
def init_artists(self, ax, plot_data, plot_kwargs):
return {'axis': sns.distplot(*plot_data, ax=ax, **plot_kwargs)}