Skip to content

Commit

Permalink
Added initial structure for stats elements, operations and plots
Browse files Browse the repository at this point in the history
  • Loading branch information
philippjfr committed Oct 24, 2017
1 parent e2c62af commit bf566ca
Show file tree
Hide file tree
Showing 15 changed files with 299 additions and 810 deletions.
1 change: 1 addition & 0 deletions holoviews/element/__init__.py
Expand Up @@ -6,6 +6,7 @@
from .graphs import * # noqa (API import)
from .path import * # noqa (API import)
from .raster import * # noqa (API import)
from .stats import * # noqa (API import)
from .tabular import * # noqa (API import)


Expand Down
15 changes: 0 additions & 15 deletions holoviews/element/comparison.py
Expand Up @@ -28,10 +28,6 @@
GridSpace, DynamicMap, GridMatrix, OrderedDict)
from ..core.options import Options, Cycle
from ..core.util import pd
from ..interface.pandas import DFrame as PandasDFrame
from ..interface.pandas import DataFrameView
from ..interface.seaborn import DFrame, Bivariate, Distribution, \
Regression, TimeSeries


class ComparisonInterface(object):
Expand Down Expand Up @@ -181,16 +177,10 @@ def register(cls):
cls.equality_type_funcs[Table] = cls.compare_tables
cls.equality_type_funcs[Points] = cls.compare_points

# Pandas DFrame objects
cls.equality_type_funcs[DataFrameView] = cls.compare_dframe
cls.equality_type_funcs[PandasDFrame] = cls.compare_dframe
cls.equality_type_funcs[DFrame] = cls.compare_dframe

# Seaborn Views
cls.equality_type_funcs[Bivariate] = cls.compare_bivariate
cls.equality_type_funcs[Distribution] = cls.compare_distribution
cls.equality_type_funcs[Regression] = cls.compare_regression
cls.equality_type_funcs[TimeSeries] = cls.compare_timeseries

# NdMappings
cls.equality_type_funcs[NdLayout] = cls.compare_gridlayout
Expand Down Expand Up @@ -678,11 +668,6 @@ def compare_dframe(cls, el1, el2, msg='DFrame'):
def compare_distribution(cls, el1, el2, msg='Distribution'):
cls.compare_dataset(el1, el2, msg)

@classmethod
def compare_timeseries(cls, el1, el2, msg='TimeSeries'):
cls.compare_dimensioned(el1, el2)
cls.compare_arrays(el1.data, el2.data, msg)

@classmethod
def compare_bivariate(cls, el1, el2, msg='Bivariate'):
cls.compare_dataset(el1, el2, msg)
Expand Down
50 changes: 50 additions & 0 deletions holoviews/element/stats.py
@@ -0,0 +1,50 @@
import param

from ..core.dimension import Dimension
from .chart import Chart, Scatter


class Bivariate(Chart):
"""
Bivariate Views are containers for two dimensional data,
which is to be visualized as a kernel density estimate. The
data should be supplied as an Nx2 array, containing the x-
and y-data.
"""

kdims = param.List(default=[Dimension('x'), Dimension('y')])

vdims = param.List(default=[], bounds=(0,1))

group = param.String(default="Bivariate", constant=True)



class Distribution(Chart):
"""
Distribution Views provide a container for data to be
visualized as a one-dimensional distribution. The data should
be supplied as a simple one-dimensional array or
list. Internally it uses Seaborn to make all the conversions.
"""

kdims = param.List(default=[])

group = param.String(default='Distribution', constant=True)

vdims = param.List(default=[Dimension('Value')])

_auto_indexable_1d = False


class Regression(Scatter):
"""
Regression is identical to a Scatter plot but is visualized
using the Seaborn regplot interface. This allows it to
implement linear regressions, confidence intervals and a lot
more.
"""

group = param.String(default='Regression', constant=True)


12 changes: 0 additions & 12 deletions holoviews/interface/__init__.py
@@ -1,17 +1,5 @@
from ..core import Dimensioned, AttrTree

try:
import pandas
from .pandas import DFrame # noqa (API import)
except:
pandas = None

try:
import seaborn
from .seaborn import * # noqa (API import)
except:
seaborn = None

from .collector import * # noqa (API import)

def public(obj):
Expand Down
155 changes: 0 additions & 155 deletions holoviews/interface/pandas.py

This file was deleted.

0 comments on commit bf566ca

Please sign in to comment.