iqplot 0.3.6__tar.gz → 0.3.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {iqplot-0.3.6/iqplot.egg-info → iqplot-0.3.7}/PKG-INFO +2 -2
  2. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot/__init__.py +1 -1
  3. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot/dist.py +21 -1
  4. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot/utils.py +20 -2
  5. {iqplot-0.3.6 → iqplot-0.3.7/iqplot.egg-info}/PKG-INFO +2 -2
  6. {iqplot-0.3.6 → iqplot-0.3.7}/setup.py +1 -1
  7. {iqplot-0.3.6 → iqplot-0.3.7}/.gitignore +0 -0
  8. {iqplot-0.3.6 → iqplot-0.3.7}/LICENSE +0 -0
  9. {iqplot-0.3.6 → iqplot-0.3.7}/README.md +0 -0
  10. {iqplot-0.3.6 → iqplot-0.3.7}/doc/.gitignore +0 -0
  11. {iqplot-0.3.6 → iqplot-0.3.7}/doc/Makefile +0 -0
  12. {iqplot-0.3.6 → iqplot-0.3.7}/doc/_static/custom.css +0 -0
  13. {iqplot-0.3.6 → iqplot-0.3.7}/doc/_static/logo.png +0 -0
  14. {iqplot-0.3.6 → iqplot-0.3.7}/doc/_templates/breadcrumbs.html +0 -0
  15. {iqplot-0.3.6 → iqplot-0.3.7}/doc/_templates/footer.html +0 -0
  16. {iqplot-0.3.6 → iqplot-0.3.7}/doc/_templates/layout.html +0 -0
  17. {iqplot-0.3.6 → iqplot-0.3.7}/doc/conf.py +0 -0
  18. {iqplot-0.3.6 → iqplot-0.3.7}/doc/credits_and_citation.rst +0 -0
  19. {iqplot-0.3.6 → iqplot-0.3.7}/doc/getting_started/installation.rst +0 -0
  20. {iqplot-0.3.6 → iqplot-0.3.7}/doc/getting_started/purpose.rst +0 -0
  21. {iqplot-0.3.6 → iqplot-0.3.7}/doc/index.rst +0 -0
  22. {iqplot-0.3.6 → iqplot-0.3.7}/doc/make.bat +0 -0
  23. {iqplot-0.3.6 → iqplot-0.3.7}/doc/user_guide/.gitignore +0 -0
  24. {iqplot-0.3.6 → iqplot-0.3.7}/doc/user_guide/api.rst +0 -0
  25. {iqplot-0.3.6 → iqplot-0.3.7}/doc/user_guide/holoviews.ipynb +0 -0
  26. {iqplot-0.3.6 → iqplot-0.3.7}/doc/user_guide/omissions.ipynb +0 -0
  27. {iqplot-0.3.6 → iqplot-0.3.7}/doc/user_guide/user_guide.ipynb +0 -0
  28. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot/.gitignore +0 -0
  29. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot/cat.py +0 -0
  30. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot.egg-info/SOURCES.txt +0 -0
  31. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot.egg-info/dependency_links.txt +0 -0
  32. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot.egg-info/requires.txt +0 -0
  33. {iqplot-0.3.6 → iqplot-0.3.7}/iqplot.egg-info/top_level.txt +0 -0
  34. {iqplot-0.3.6 → iqplot-0.3.7}/requirements.txt +0 -0
  35. {iqplot-0.3.6 → iqplot-0.3.7}/setup.cfg +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqplot
3
- Version: 0.3.6
3
+ Version: 0.3.7
4
4
  Summary: Generate Bokeh plots for data sets with one quantitative variable.
5
5
  Home-page: https://github.com/justinbois/iqplot
6
- Download-URL: https://github.com/justinbois/iqplot/tarball/0.3.6
6
+ Download-URL: https://github.com/justinbois/iqplot/tarball/0.3.7
7
7
  Author: Justin Bois
8
8
  Author-email: bois@caltech.edu
9
9
  License: BSD
@@ -7,4 +7,4 @@ from .dist import *
7
7
 
8
8
  __author__ = """Justin Bois"""
9
9
  __email__ = "bois@caltech.edu"
10
- __version__ = "0.3.6"
10
+ __version__ = "0.3.7"
@@ -163,6 +163,22 @@ def ecdf(
163
163
  output : bokeh.plotting.Figure instance
164
164
  Plot populated with ECDFs.
165
165
  """
166
+
167
+ # In the future, we will have a max_points kwarg that will lead to
168
+ # thinning of the ECDF. The doc string for the parameter is:
169
+ # max_points : int or None, default None, NOT YET IMPLEMENTED
170
+ # Maximum number of data points to use in a single ECDF. If the
171
+ # number of data points exceeds max_points, then the plot is
172
+ # constructed where points corresponding to the quantiles
173
+ # [1, 2, ..., max_points] / max_points are plotted. The upper
174
+ # and lower extreme points are always included. If this thinning
175
+ # is applied, then the resulting plotted ECDF will always lie
176
+ # slightly below the non-thinned ECDF. If None and the number of
177
+ # points for an ECDF is greater than 2000, there will be a
178
+ # warning that the number of points exceeds the maximum. The
179
+ # warning will not be issued if max_points an `int`.
180
+
181
+
166
182
  # Protect against mutability of dicts
167
183
  marker_kwargs = copy.copy(marker_kwargs)
168
184
  line_kwargs = copy.copy(line_kwargs)
@@ -1149,7 +1165,11 @@ def spike(
1149
1165
  else:
1150
1166
  ptiles = np.sort(ptiles)
1151
1167
 
1152
- one_cat = cats is None or len(data.groupby(cats)) == 1
1168
+ # Quick check to see if there is only one category.
1169
+ # This is not an ideal way to do it, since we convert to Pandas df
1170
+ # just for the check, which we do later as well
1171
+ data_check, _, _, _ = utils._data_cats(data, q, cats, False, None)
1172
+ one_cat = cats is None or len(data_check.groupby(cats)) == 1
1153
1173
 
1154
1174
  if arrangement is None:
1155
1175
  arrangement = "overlay" if one_cat else "stack"
@@ -4,7 +4,6 @@ import warnings
4
4
 
5
5
  import numpy as np
6
6
  import pandas as pd
7
- import xarray
8
7
 
9
8
  import bokeh.core.enums
10
9
 
@@ -90,7 +89,7 @@ def _parse_deprecations(
90
89
 
91
90
 
92
91
  def _data_cats(data, q, cats, show_legend, legend_label):
93
- if type(data) == xarray.core.dataarray.DataArray:
92
+ if 'xarray.core.dataarray.DataArray' in str(type(data)):
94
93
  if q is None:
95
94
  if data.name is None:
96
95
  q = "x"
@@ -103,6 +102,25 @@ def _data_cats(data, q, cats, show_legend, legend_label):
103
102
  data = pd.DataFrame({q: data.squeeze()})
104
103
  if cats is not None:
105
104
  raise RuntimeError("If `data` is a Numpy array, `cats` must be None.")
105
+ elif 'polars.dataframe.frame.DataFrame' in str(type(data)):
106
+ # For now, we just convert to Pandas. We will add functionality
107
+ # to work with polars data frames to take advantage of their
108
+ # performance in the future.
109
+ data = data.to_pandas()
110
+ elif 'polars.series.series.Series' in str(type(data)) or type(data) == pd.core.series.Series:
111
+ # For now, just convert to Pandas series if it's a Polars series
112
+ if 'polars.series.series.Series' in str(type(data)):
113
+ data = data.to_pandas()
114
+ if q is None:
115
+ if data.name is None:
116
+ q = 'x'
117
+ else:
118
+ q = data.name
119
+ data = pd.DataFrame({q: data})
120
+ if cats is not None:
121
+ raise RuntimeError("If `data` is a Pandas series, `cats` must be None.")
122
+ elif type(data) != pd.core.frame.DataFrame:
123
+ raise RuntimeError(f"Data type {type(data)} for argument `data` is not supported.")
106
124
 
107
125
  # Make a copy of the data frame
108
126
  data = data.copy()
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iqplot
3
- Version: 0.3.6
3
+ Version: 0.3.7
4
4
  Summary: Generate Bokeh plots for data sets with one quantitative variable.
5
5
  Home-page: https://github.com/justinbois/iqplot
6
- Download-URL: https://github.com/justinbois/iqplot/tarball/0.3.6
6
+ Download-URL: https://github.com/justinbois/iqplot/tarball/0.3.7
7
7
  Author: Justin Bois
8
8
  Author-email: bois@caltech.edu
9
9
  License: BSD
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  from codecs import open
3
3
  from os import path
4
4
 
5
- __version__ = '0.3.6'
5
+ __version__ = '0.3.7'
6
6
 
7
7
  here = path.abspath(path.dirname(__file__))
8
8
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes